python找茬系列11--字典方法keys和values
2019-08-01 本文已影响0人
young十三
一、问题
字典的这2个方法,字面很容易理解,但为什么我还要找茬呢?因为很多人不知道它们的返回类型以及和列表使用上的区别。
二、区分
序号 | 名称 | 描述 |
---|---|---|
1 | dict.keys() | 返回一个迭代器,可以使用 list() 来转换为列表 |
2 | dic.values | 返回一个迭代器,可以使用 list() 来转换为列表 |
三、实例说明
1、看类型和输出
one_dict = {"name": "Python大星", "age": "0", "sex": "boy"}
print(type(one_dict.keys()))
print(type(one_dict.values()))
print(one_dict.keys())
print(one_dict.values())
输出结果:
<class 'dict_keys'>
<class 'dict_values'>
dict_keys(['name', 'age', 'sex'])
dict_values(['Python大星', '0', 'boy'])
2、遍历
①不做转换
one_dict = {"name": "Python大星", "age": "0", "sex": "boy"}
for key in one_dict.keys():
print('key :', key)
print('------------------')
for value in one_dict.values():
print('value', value)
输出结果:
key : name
key : age
key : sex
------------------
value Python大星
value 0
value boy
②转换为list再遍历
one_dict = {"name": "Python大星", "age": "0", "sex": "boy"}
for key in list(one_dict.keys()):
print('key :', key)
print('---------------------------')
for value in list(one_dict.values()):
print('value :', value)
输出结果:
key : name
key : age
key : sex
---------------------------
value : Python大星
value : 0
value : boy
四、赠语
宣父犹能畏后生,丈夫未可轻年少。