P87 遍历字典
鉴于字典可能包含大量的数据,python支持对字典遍历。我们可以遍历字典的所有键-值对、键或值。
遍历所有键-值对。遍历方法还是使用for循环,可声明两个变量,用于存储键-值对中的键和值,变量名可任意,但为使代码易读,一般选用键和值对应意思的名称,然后使用字典名和方法items(),就返回一个键-值对列表,再通过for循环依次将键-值对存储在之前指定的两个变量中,遍历字典时,键-值对返回的顺序也与存储顺序不同。
如:for key, value in user_0.items():
print("\nkey: "+key)
print("value: "+value)。
遍历字典中的所有键。在不需要使用字典中的值时,方法keys()很有用。使用方法同上。遍历字典时,会默认遍历所有的键,所以也可以省略keys(),只是显式使用让代码更易读。在这种循环中,可使用当前键来访问与之相关联的值,也可检查特定键是否包含在字典中,因为方法keys()并非只是遍历,实际上,它返回一个列表,其中包含字典中的所有键。
要以特定的顺序返回元素,一种方法是在for循环中对返回的键进行排序,为此,可使用函数sorted()来获得按特定顺序排列的键列表的副本。
如:for name in sorted(favorite_languages.keys()):
print(name.title()+", thank you for taking the poll.")。
遍历字典中所有值。如果你感兴趣的主要是字典包含的值,可使用方法values(),它返回一个值列表,而不包含任何键。用法同上。
这种做法提取字典中所有的值,而没有考虑是否重复。为剔除重复项,可使用集合set()。集合类似于列表,但每个元素都必须是独一无二的。
如:for language in set(favorite_languages.values()):
print(language.title())。