简单易懂python字典操作

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}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值