当前位置: 首页 > news >正文

爱用网站建设装饰工程师

爱用网站建设,装饰工程师,分销网站开发,阿里企业邮箱下载#xff08;请先看置顶博文#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 #xff08;请先看置顶博文#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 初识字典 1、创建字典 2、字典的“增删改查” …请先看置顶博文https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 请先看置顶博文https://blog.csdn.net/GenuineMonster/article/details/104495419 初识字典 1、创建字典  2、字典的“增删改查” A、字典的“增” B、字典的“删” C、字典的“改”  D、字典的“查” *由类似对象组成的字典  3、遍历字典 A、遍历字典键值对 B、遍历字典中所有的键 C、有序遍历字典中所有的键 D、遍历字典中所有的值 4、嵌套 A、字典列表把字典存储在列表里 B、列表字典把列表存储在字典里 C、字典字典把字典存储在字典里 初识字典 Python中“字典”的概念和我们小学学习使用的新华字典是一个概念。我们接下来对比一下这两个概念方便大家理解和学习。 新华字典A、拼音对应“字”或者笔画对应“字”指两种查字方式B、存储量有限包含字音、笔顺、组词、例句、近义反义词等    Python中的字典A、字典名和“键”对应“与键相关联的值”              B、存储量无限可以包含任意信息比如书中介绍的外星人的各种参数颜色、分数。 上面只是一个对Python字典的一个简单的介绍接下来我们会详细介绍什么是字典什么是键值对如何创建字典如何在字典中增加新的内容 等等 1、创建字典  我们用几行代码来演示如何创建字典 alien_0{color:green,points:5} #创建外星人字典包含属性为外星人的颜色及分值 print(alien_0[color]) #输出外星人的颜色 print(alien_0[points]) #输出外星人的分值 上述代码的第一行就是创建字典 在Python中字典是一系列“键-值”对每个键都与一个值相关联与键相关联的值可以是数字、字符串、列表乃至字典。这个键值对就可以理解为键盘上的每一个键帽你按哪个哪个就出现在显示器上。就上述代码而言alien_0是字典名花括号里的“‘color‘green’‘point’5”是两组键-值对键-值对是两个相关联的值。指定键时Python将返回与之相关联的值。键和值之间用冒号分隔而每一组键-值对之间用逗号分隔。在字典中你想存储多少个键-值对都可以。        2、字典的“增删改查” A、字典的“增” 字典是一种动态结构可随时在其中增添键-值对。要增添键值对可依次指定字典名、用方括号括起来的键和相关联的值。那么接下来我们仿照书中的例子在刚才创建好的字典中增加外星人的x、y的坐标代码如下 alien_0 {color : green , points : 5 } #创建外星人字典包含属性为外星人的颜色及分值 alien_0[x_position] 0 #外星人的横坐标为0 alien_0[y_position] 25 #外星人的纵坐标为25 print(alien_0) #打印外星人这个字典到目前为止刚刚创建的字典已经包含4个键值对了。Python不关心键-值对的添加顺序而只关心键和值之间的关联关系。 有些特定情况下我们需要先创建一个空白字典然后再对其进行增添键-值对的操作。情景为用字典保存用户输入的内容或在编写能自动生成大量键值对的代码时预先定义一个空字典。如下代码所示  alien_0 {} #创建一个空字典 alien_0[color] green #增添外星人颜色键值对 alien_0[points] 5 #增加外星人分数键值对 print(alien_0) #打印字典 B、字典的“删” 对于字典中我们不再需要的信息可使用del语句将相应的键值对彻底删除。使用del语句时必须指定字典名和要删除的键。代码如下所示  alien_0{ color : green, points : 5 } #创建字典 print(alien_0) #打印字典 del alien_0[points] #删除字典中的分数键及其键值 print(alien_0) #再次打印字典 C、字典的“改”  要修改字典中的值可依次指定字典名、方括号括起的键以及该键相关联的新值 。例如随着游戏的进行需要将一个外星人从绿色改为黄色代码如下 alien_0{color:green} #定义外星人字典只有一对键值对颜色 print(The alien is alien_0[color]. ) #打印外星人的字典 alien_0[color]yellow #将外星人的颜色改为黄色 print(The alien is alien_0[color]. ) #再次打印外星人字典 D、字典的“查” 我们定义了键值对之后就要通过指定键来访问键值对了。上述代码的第二、第三行就是通过指定字典名、键访问键值的实例。那么下面再给出一个例子这个例子是为后来的Python游戏项目服务的用来显示用户实时获得的分数 alien_0 {color:green,points:5} #创建外星人字典包含属性为外星人的颜色及分值 new_points alien_0[points] #访问外星人的点数并存储在new_points中 print(You just earned str(new_points) points! ) #输出外星人的分值 *由类似对象组成的字典  前面的例子中使用字典存储一个对象游戏中的一个外星人的多种信息接下来我们使用字典存储众多对象中的同一种信息。例如存储多个人喜欢的编程语言。代码如下 favorite_language{jen:Python, #将大字典放在了多行其中的每个键都是一个人名sarah:c, #每个值都是被调查者喜欢的语言edward:ruby,pjil:Python} #输出Sarah最喜欢的语言 #下面的print语句格式还演示了如何将较长的print语句分为多行 #在合适位置拆分打印内容并在第一行末尾加上一个“”,回车进入 #后续行使用Tab键将他们对齐并缩进一级。指定所有打印的内容后 #在print最后一行末尾加上右括号。 print(Sarahs favorite language is favorite_language[sarah].title(). )在这种情况下大家要注意代码的格式大多数编辑器都有自己的设置格式的功能。Pycharm中可以使用Tab键和空格键控制格式提高代码的可读性 3、遍历字典 刚才也说了字典包含的信息量是无限的所以就需要一种方法对字典进行查询专业术语叫“遍历”而Python也支持对字典的遍历。因为字典以多种方式存储信息因此也有多种方法去遍历字典可遍历字典的所有键-值对、键或者值。 A、遍历字典键值对 以代码为例演示一下如何遍历字典键值对 # 定义一个子字典存储用户姓名 user_0{username:efermi,first:erico,last:fermi,} # 一个for循环进行字典“遍历” for key,value in user_0.items(): # 编写用于遍历字典的for循环声明两个变量用于存储键值对中的“键”和“值” # 这两个变量名可以自己命名不用拘于例代码但最好让人易于理解。 # for这一行代码使用了items方法此方法每次返回一个键值对的值分别保存 # 在声明的两个变量中。print(\nKey: key )print(Value: value ) # 我看的参考书中反复提及“键值对的返回顺序与存储顺序不同Python不关心 # 键值对的存储顺序只跟踪键和值的关联关系” B、遍历字典中所有的键 在Python中Key方法就是用来获取字典键的。通过例代码说明 #创建一个字典 favorite_languages {jen:python,sarah:c,edward:ruby,phil:python} #循环获取字典中键值对的“键”并打印 for name in favorite_languages.keys():print(name.title()) 遍历字典默认会遍历所有的键。所以如果在上述代码中不使用key方法输出是不会变的。我们现在有了字典的“键”那么是否可以通过“键”来获取对应的“值”呢?答案是可以的例代码如下 # 创建一个字典 favorite_languages {jen:python,sarah:c,edward:ruby,phil:python} # 设定朋友范围 frinends[phil,sarah] # 循环获取字典中键值对的“键”并打印 for name in favorite_languages.keys():# 在朋友范围内的才打印出来下面的代码要记住print第三行“依键寻值”的表达if name in frinends:print(Hi name.title(), I see your favorite_languages is favorite_languages[name].title()! ) C、有序遍历字典中所有的键 字典总是明确地记录键和值之间的关系但获取字典的元素时获取顺序是不可预测的。要以特定顺序返回元素一种办法是在for循环中对返回的键进行排序。所以我们可以使用函数sorted来获得按特定顺序排列的键列表的副本 # 创建一个字典 favorite_languages {jen:python,sarah:c,edward:ruby,phil:python}# 循环获取字典中键值对的“键”并打印.其中使用sorted函数 for name in sorted(favorite_languages.keys()):print(name.title(), thank you for taking the poll. )D、遍历字典中所有的值 如果我们的关注点在“值”而不在“键”上那么我们可以使用values方法返回一个值列表。例如我们只想知道一个这样的列表其中只包含被调查者选择的各种语言而不包含被调查者的名字代码如下 # 创建一个字典 favorite_languages {jen:python,sarah:c,edward:ruby,phil:python} print(The following languages have been mentioned:) #使用values方法返回键值对中的值并输出 for language in favorite_languages.values():print(language.title()) 上述代码在提取时显而易见没有考虑到某种语言重复出现的情况。值少的时候还好多的时候最终的列表将会出现大量的重复项。这就需要我们使用一定的方法对上述的列表进行“剔除重复项”的操作。能完成这个操作的方法时set集合大家都知道集合的三要素之一就是“唯一性”。那么我们将这个方法加入到上述代码中 # 创建一个字典 favorite_languages {jen:python,sarah:c,edward:ruby,phil:python} print(The following languages have been mentioned:) #使用values方法返回键值对中的值、set方法剔除重复项并输出 for language in set(favorite_languages.values()):print(language.title()) 从结果可以看出调用set函数可让Python找出列表中独一无二的元素并使用这些元素创造一个集合。 4、嵌套 有些时候需要将一系列字典存储在列表中或将列表作为值存储在字典中这称为嵌套。可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典由此可见嵌套是一项强大的功能。 A、字典列表把字典存储在列表里 还是我们老生常谈的外星人代码我们之前创造的外星人字典alien_0里包含一个外星人的各种信息但是无法存储第二个外星人的信息了更别说成群结队的外星人信息了那怎么办第一种办法创建一个外星人列表其中每个外星人都是一个字典包含有关该外星人的各种信息。例代码如下 #外星人字典 alien_0 {color:green,points:5} alien_1 {color:yellow,points:10} alien_2 {coloe:red,points:15} #将三个外星人存储在列表alien里 aliens[alien_0,alien_1,alien_2] #使用for循环打印三个外星人的字典 for alien in aliens:print(alien) 这是字典和列表嵌套的一个例子在实际情况中我们游戏中的外星人应该是很多的不知这三个那么我们就需要自动生成其他外星人例代码如下 # 创建一个外星人空列表 aliens[] # 使用for循环自动创建30个外星人字典并追加到上述创建好的外星人列表里 for alien_number in range(30):new_alien{color:green,points:5,speed:slow}aliens.append(new_alien) # 显示前5个外星人 for alien in aliens[:5]:print(alien) # 显示省略号 print(......) # 显示一共自动化创建了多少外星人,使用获取列表长度函数以及转换为字符串的函数 print(Total number of aliens: str(len(aliens)))虽然代码的注释很清楚了但还是对上面代码进行一个解释吧例代码中首先创建了一个空列表用于存储接下来创建的所有外星人。range返回一系列数字唯一用途是告诉Python接下来要重复这个循环多少次。每次执行这个循环时都会创建一个外星人并将其追加到aliens末尾。最后再来一个循环切片打印前五个外星人的字典并打印省略号和外星人的总数目。 我们创建好的字典列表也可以通过3中所学的字典的“改”对外星人的属性进行修改。必要时可以使用for循环和if语句来修改某些外星人的颜色。 B、列表字典把列表存储在字典里 有时候需要把列表存储在字典里。需要与上一小节区别开上一小节是把字典放在列表里相当于宏观上还是列表。这个是把列表放在字典里宏观上是字典。字典列表和列表字典分不清楚就看最后两个字是字典还是列表。 这里引入一个情景比萨店如何记录顾客点的披萨呢如果仅使用列表那么只能存储要添加的披萨配料但如果在前者的基础上加上字典不仅可以在其中包含配料列表还可包含其他有关披萨的描述。例代码如下 # 存储所点披萨信息 pizza{crust:thick,toppings:[mushroom,extra cheese],} # 概述所点的披萨 print(You ordered a pizza[crust]-crust pizza with the following toppings:)for topping in pizza[toppings]:print(\t topping) 上面的代码首先创建了一个字典其中存储了有关顾客所点披萨的信息。在这个字典中一个键是‘crust’与之相关联的值是字符串‘thick’下一个键是‘toppings’与之相关联的值是一个列表其中存储了顾客要求添加的所有配料。最后对以上信息进行打印。每当需要在字典中将一个键关联到多个值时都可以在字典中嵌套一个列表。例如 # 创建列表字典存储每个人喜欢的语言 favorite_languages{jen:[python,ruby],sarah:[c],edward:[ruby,go],phil:[python,haskell],} # 使用items方法返回字典里的键值对 for name,languages in favorite_languages.items():print(\n name.title() s favorite languages are: )#对返回到languages里的语言进行循环输出for language in languages:print(\t language.title()) 上述代码还有修改的余地因为Sarah最喜欢的语言就只有一种但是输出却是“are”这不是犯了最低级的英语语法错误了吗那么我们在最大for循环开始加一条if语句调用len判断一下返回到languages变量里的“长度”是多长就可以针对不同的人进行不同的输出避免错误的发生。除此以外列表和字典的嵌套层级不应太多。如果嵌套层级太多就会很搞脑子手动狗头。 C、字典字典把字典存储在字典里 字典和字典嵌套代码比较复杂。使用场景如果有多个网站用户每个都有独特的用户名可在字典中将用户名作为键将每位用户的信息存储在一个字典A中最后将键和字典A连接起来形成大字典的键值对。例代码如下 # 创建字典里面使用字典存储用户个人信息 users {aeinstein:{first:albert,last:einstein,location:princeton},mcurie:{first:marie,last:curie,location:paris}, } # 循环语句使用items返回用户名和用户信息将用户名存储在username里将用户信息 # 字典存储在userinformation里 for username , userinformation in users.items():print(\nUsername: username)# 对用户名的姓和名进行拼接使用用户信息字典的键来遍历用户的姓、名、地址信息full_name userinformation[first] userinformation[last]location userinformation[location]print(\tFull name: full_name.title())print(\tlocation: location.title()) 注意表示每位用户的字典的结构都相同Python没这么要求但这使得嵌套的字典处理起来更容易。如果表示每位用户的字典都包含不同的键for循环内部的代码就会复杂起来。
http://www.zqtcl.cn/news/813049/

相关文章:

  • 建设机械网站案例分析餐饮vi设计开题报告范文
  • 做本地生活网站深圳建设工程信息网站
  • C2C电商网站做博客的网站有哪些
  • 住房和城乡建设部网站 事故安微省建设厅田网站
  • 百度一下你就知道官页淘宝seo搜索引擎优化
  • 网站平台维护phpwind做的网站
  • 网站怎么做移动适配怎么样才算是一个网站页面
  • 做pc端网站策划百度网站建立
  • 高级网站开发技术青岛网站建设方案服务
  • 深圳公司网站建设设房地产网址大全
  • 怎么里ip做网站女生学广告学后悔死了
  • 做西餐网站wordpress 作者栏
  • 创建了网站安卓做视频网站
  • asp自助建站系统房地产楼盘微信网站建设营销方案
  • 网站建设公司发展方向及趋势低代码小程序开发平台
  • 临沂网站建设企业响应式网站首页
  • 福州网上商城网站建设wordpress登录界面logo
  • 子目录网站wordpress无中断音乐插件
  • 网站开发算是研发支出吗淘宝客网站建设的策略
  • 如果在工商局网站上做股权质押刷推广链接的网站
  • 保定建站公司模板wordpress 华为云
  • 好的网页设计网站推荐开发定制软件公司
  • 深圳做网站设计多媒体网站开发
  • 什么是网站组件高端网站设计高端网站制作
  • 网易网站建设深圳专业营销网站制作
  • 有口碑的佛山网站建设东莞网约车资格证官网登录入口
  • 网站建设合同 保密条款wordpress网站手机端
  • 汕头建站费用wordpress转cms
  • 全美网站开发PHP 网站开发 重点知识
  • 电商网站建设重要性一个公司可以做几个网站吗