Python编程:从入门到实践读书笔记-5 if语句 & 6 字典

这两天学习特别累,不是学不会的那种累,是动脑子学习的那种累,今天走在西工大的天桥上,突然呼吸急促,感觉自己要挂了似的,想想还是最近休息不好,压力太大导致的,清明节好好休息下。。。


记博客还是有用的,每次不想学习的时候,总会想:不学习就没有笔记,没有笔记就不能上传博客,虽然没人看,但总感觉有很多很多人在监督我,只得好好学习。


书这东西,每读一遍,理解都不一样

看书这事儿,还得有纸质书,读书、笔记、翻查还是很有用的,电子书就差那么点意思!


6.3 遍历字典
6.3.1 遍历所有键-值对(方法items())
     首先,要声明2个变量,目的:处处存储键-值对中的键和值;
     其次,这两个变量可以使用任意名称。
     eg1:
          user_0 = {
              'username':'efermi',
              'firstname':'enrico',
              'last':'fermi',
              }
          for key,value in user_0.items():          #变量可随意命名,字典名称后面加上方法.item()
              print(key)
              print(value)
     op:
          Key: username
          Value: efermi

          Key: firstname
          Value: enrico

          Key: last
          Value: fermi
     注意:即便遍历字典时,键—值对的返回顺序也与存储顺序不同。
              Python不关心键—值对的存储顺序,而只跟踪键和值之间的关联关系。
     eg:
          favorite_languages = {
              'jen': 'python',
              'sarah': 'c',
              'edward': 'ruby',
              'phil': 'python',
              }
          for name, language in favorite_languages.items():
              print(name.title() + "'s favorite language is " + language.title())
     op:
          Jen's favorite language is Python
          Sarah's favorite language is C
          Edward's favorite language is Ruby
          Phil's favorite language is Python
     注意:变量的取名如果能和键值对应会方便代码阅读!
6.3.2 遍历字典中的所有键(方法keys())
     在不需要使用字典中的值时,方法keys()很有用。
     eg:
          favorite_languages = {
               'jen': 'python',
               'sarah': 'c',
               'edward': 'ruby',
               'phil': 'python',
                    }
          for name in favorite_languages.keys():
               print(name.title())
     op:
          Jen
          Sarah
          Edward
          Phil
     注意:1. 遍历字典时,会默认遍历所有的键;
                   即将for name in favorite_ languages.keys():
                替换为for name in favorite_languages:
                  结果不变!!!
               2. 使用方法keys()可让代码更容易理解,你可以选择这样做,也可 省略它。
     情景1:在上面eg的基础上,使用当前键来访问与之相关联的值,并且打印消息,指出两位朋友喜欢的语言。
     eg:
          favorite_languages = {
               'jen': 'python',
               'sarah': 'c',
               'edward': 'ruby',
               'phil': 'python',
               }
          friends = ['sarah','phil']
          for name in favorite_languages.keys():
               if name not in friends:
                    print(name.title())
               else:
                    print(name.title())
                    print(name.title() + " 's favorite language is " + favorite_languages[name].title())
          # 这是根据情景写的,对比书上的程序,略显麻烦
          #friends = ['phil', 'sarah']
          #for name in favorite_languages.keys():
          #     print(name.title())
          #     if name in friends:
          #         print(name.title() + " 's favorite language is " + favorite_languages[name].title())
          # 代码要简单可读!!!
     op:
          Jen
          Sarah
          Sarah 's favorite language is C
          Edward
          Phil
          Phil 's favorite language is Python
6.3.3 按顺序遍历字典中的所有键(sortrd())
     字典只明确记录键值间的关系,但获取字典的元素时,获取顺序是不可预测的。
     eg:
          favorite_languages = {
               'jen': 'python',
               'sarah': 'c',
               'edward': 'ruby',
               'phil': 'python',
               }
          for name in sorted(favorite_languages.keys()):
              print(name.title())  
     op:
          Edward
          Jen
          Phil
          Sarah
6.3.4 遍历字典中的所有值(方法values())
     eg:
          favorite_languages = {
               'jen': 'python',
               'sarah': 'c',
               'edward': 'ruby',
               'phil': 'python',
               }
          for language in sorted(favorite_languages.values()):
              print(language.title())
     op:
          C
          Python
          Python
          Ruby
     注意:从输出的结果可以看到有重复值,可以使用集合(set)剔除重复值。
               如改成for language in set(sorted(favorite_languages.values())):
               则输出为:
                    C
                    Python
                    Ruby
练习:
     6.4 
     wordmeaning = {
          'list': 'changeble',
          'tuple': 'unchangeble',
          'sort': 'forever orderable',
          'len': 'longth',
          'index': 'adress'
          }
     for word, meaning in wordmeaning.items():
          print("\n" + word)
          print(meaning)
     wordmeaning['range'] = 'numbers'
     wordmeaning['max'] = 'maxium'
     print(wordmeaning)

     6.5
     river_country = {
         'changjiang':'china',
         'yamazon': 'brazil',
         'nile': 'egypt',
         }
     for river, country in river_country.items():
         print("The " + river.title() + " runs through " + country.title())
     for river in river_country.keys():
         print(river)
     for country in river_country.values():
         print(country)

     6.6 
     favorite_languages = {
          'jen': 'python',
          'sarah': 'c',
          'edward': 'ruby',
          'phil': 'python',
          }
     names = ['chandler','sarah','rose']
     for somebody in favorite_languages.keys():
          print(somebody + ", thanks !")
          if somebody in names:
              print(somebody.title() + ", Please join the check !")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值