Python入门 - 第6章 字典(dict简介)

此系列文章的创作初衷是作为读书过程中的笔记,而非教程类文章。

第6章 字典

6.2 使用字典

  • Python中的字典是一系列键值对,类似于CPP和Java中的映射表。与CPP和Java不同,Python允许一个字典拥有不同类型的值
  • 字典用放在花括号({})中的一系列键值对表示,键和值之间用冒号连接,键值对之间用逗号分隔。
#存储一个外星人的颜色和分数信息
alien_0 = {"color" : "green", "points" : 5}
  • 要获取与键相关联的值,可以指定字典名和放在方括号内的键。
print(alien_0['color'])
  • 要添加键值对,可依次指定字典名,放在方括号内的键和相关联的值。当键已经存在时,Python将用新的值替换旧的值。利用这一特性,可以修改既有的值。
#添加新的键值对
alien_0['x']=0
alien_0['y']=25
#将外星人的颜色修改为蓝色
alien_0['color'] = 'blue'
  • 要输出字典内容,直接将字典名作为参数传入print函数。
print(alien_0)
  • Python不维护字典中键值对的顺序。
  • 可以使用del关键字删除键值对。使用del关键字时,应指定字典名和要删除的键。
del alien_0['points']
  • Python允许在定义字典时,在最后一个键值对后也加上逗号。事实上,这是一种推荐的做法,因为这样可以方便后续继续添加元素。
favoriteLanguages = {
    "Jack": "C++",
    "Alice": "Java",
    "Sarah": "Python",
}

6.3 遍历字典

  • 使用items()方法遍历键值对。items方法返回一个键值对列表。
favorite_languages = {"Sarah":"Pyhton","Serena":"CPP","Freeman":"Java"}
for key, value in favorite_languages:
    print("\nName: "+key)
    print("Language: "+value)

Python不维护字典中键值对的顺序,上述循环中返回键值对的顺序与插入顺序是不同的。

  • 只需要遍历字典中的键时,用keys()方法。方法keys返回所有键组成的列表。
print("The following people have taken the poll:")
for key in favorite_languages.keys():
    print(key)

在这种循环中,如果需要对应的值,可以随时使用字典名[键]的方式来获取。
将上述代码中的for key in favorite_languages.keys()改为for key in favorite_languages,即不使用keys方法,也可以实现遍历所有键。使用keys方法可以使代码更易读。

  • 可以使用sorted()方法顺序输出字典的键,如下面的样例代码:
for key in sorted(favorite_languages.keys()):
    print(key)
  • 可以使用关键字in来判断键是否在字典中(但不能用于判断值是否在字典中)。
print("Serena" in favorite_languages.keys()) # 可以不使用keys方法,效果相同
  • 要遍历字典中的值,可以使用方法values()。方法values返回一个值列表。
  • 字典中包含的值是可能重复的。为了获得不重复的值,可以将返回的值列表构造为一个集合。为了构造一个集合,使用set方法。
print("The following languages have appeared in the result:")
for value in set(favorite_languages.values()):
    print(value)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值