python获取字典中的值
字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。
随便创建一个字典:
比如a,b,c三个人及其年龄。abc就是键key,年龄就是值value。
a对应值19,b对18,c对17
list_test={"a":19,"a":18,"c":17}
字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。形象地看,字典中 key 和 value 的关联关系如下图所示:
字典包含多个 key-value 对,而 key 是字典的关键数据,因此程序对字典的操作都是基于 key 的。基本操作如下:
- 通过 key 访问 value 。
- 通过 key 添加 key-value 对。
- 通过 key 删除 key-value 对。
- 通过 key 修改 key-value 对。
- 通过 key 判断指定 key-value 对是否存在。
字典读取
法一:常规方法
test={"a":19,"b":18,"c":17}
print(test.keys())
print(test.values())
输出:
dict_keys(['a', 'b', 'c'])
dict_values([19, 18, 17])
怎么取某个键或值呢?
test={"a":19,"b":18,"c":17}
k = test.keys()
v = test.values()
print(list(k)[0])
print(list(v)[2])
输出:
a
17
法二:get()方法
test={"a":19,"b":18,"c":17}
print(test.get('a'),test.get('b'))
输出:
19 18
可以看到,法一和二,只取出了值。
那我想取出名称和值,怎么办?看法三
法三:items()方法
test={"a":19,"b":18,"c":17}
for i,j in test.items():
print(i, j)
输出:
a 19
b 18
c 17
还有中循环写法:
for i in test:
print(i,test[i])
输出:
a 19
b 18
c 17
怎么取某一个键值对呢?
test={"a":19,"b":18,"c":17}
im = test.items()
print(list(im)[1])
输出:
('b', 18)
从上面代码可以看出,程序调用字典的 items()、keys()、values() 方法之后,都需要调用 list() 函数将它们转换为列表,这样即可把这三个方法的返回值转换为列表。
但在 Python 2.x 中,items()、keys()、values() 方法的返回值本来就是列表,完全可以不用 list() 函数进行处理。当然,使用 list() 函数处理也行,列表被处理之后依然是列表。
字典的删除
字典的 key 就相当于它的索引,只不过这些索引不一定是整数类型,字典的 key 可以是任意不可变类型。
法一:del方法
如果要删除宇典中的 key-value 对,则可使用 del 语句。
test={"a":19,"b":18,"c":17}
del test['a']
print(test)
输出:
{'b': 18, 'c': 17}
法二:clear()方法
clear() 用于清空字典中所有的 key-value 对,对一个字典执行 clear() 方法之后,该字典就会变成一个空字典。例如如下代码:
test={"a":19,"b":18,"c":17}
test.clear()
print(test)
输出:
{}
法三:pop()方法
pop() 方法用于获取指定 key 对应的 value,并删除这个 key-value 对。
test={"a":19,"b":18,"c":17}
print(test.pop('a'))
print(test)
输出:
19
{'b': 18, 'c': 17}