python 字典类型 get 参数_字典:python的基础数据类型

字典

简介

字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

注意python3.5之前以及python3.5字典是无序的,而从python3.6开始,是有序的。

Changed in version 3.7: Dictionary order is guaranteed to be insertion order. This behavior was implementation detail of CPython from 3.6.

字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

操作

dic = {'book' : 'python cookbook', 'author' : ['Alex Martelli', 'Anna Martelli Ravenscrof', 'David Ascher'], 'pages' : 756}

通过键值方式添加:有此键则更改对应的值,无此键则添加

>>> dic['book'] = 'Python Cookbook'

>>> dic

{'book': 'Python Cookbook', 'author': ['Alex Martelli', 'Anna Martelli Ravenscrof', 'David Ascher'], 'pages': 756}

>>> dic['publish'] = '人民邮电出版社'

>>> dic

{'book': 'Python Cookbook', 'author': ['Alex Martelli', 'Anna Martelli Ravenscrof', 'David Ascher'], 'pages': 756, 'publish': '人民邮电出版社'}

通过setdefault添加:有此key则不做任何操作返回原key对应的值,无此key则添加并返回新key对应的值。

>>> dic = {'book' : 'python cookbook', 'author' : ['Alex Martelli', 'Anna Martelli Ravenscrof', 'David Ascher'], 'pages' : 756}

>>> dic.setdefault('book', 'Python Cookbook')

'python cookbook'

>>> dic = {'book' : 'python cookbook', 'author' : ['Alex Martelli', 'Anna Martelli Ravenscrof', 'David Ascher'], 'pages' : 756}

>>> dic.setdefault('publish','人民邮电出版社')

'人民邮电出版社'

pop:通过键来删除键值对,如果没有此键,并没设置第二个参数会报错,设置了第二参数不会报错。有返回值

>>> dic.pop('book')

'python cookbook'

>>> dic.pop('book')

Traceback (most recent call last):

File "", line 1, in

KeyError: 'book'

>>> dic.pop('book', '没有此书')

'没有此书'

popitem:python3.5之前以及3.5会随机删除一个键值对,而3.6过后及3.6会删除最后一个键值对。返回所删除的键值对(元组)。

>>> dic = {1:'a', 2:'b', 3:'c'}

>>> dic.popitem()

(3, 'c')

clear:清空字典

>>> dic = {1:'a', 2:'b', 3:'c'}

>>> dic.clear()

>>> dic

{}

del:删除指定的key的键值对,或者在内存中把该字典删除

>>> dic = {1:'a', 2:'b', 3:'c'}

>>> del dic[1]

>>> dic

{2: 'b', 3: 'c'}

>>> del dic

>>> dic

Traceback (most recent call last):

File "", line 1, in

NameError: name 'dic' is not defined

通过 dic[key]=value 来改该键所对应的值

# 已存在的key则改,不存在的则添加

>>> dic = {1:'a', 2:'b', 3:'c'}

>>> dic['d'] = 4

>>> dic

{1: 'a', 2: 'b', 3: 'c', 'd': 4}

>>> dic[1] = 100

>>> dic

{1: 100, 2: 'b', 3: 'c', 'd': 4}

update(),参数为字典或"键值对"(键不带引号的)

>>> dic.update({'d':4, 'e':5})

>>> dic

{1: 'a', 2: 'b', 3: 'c', 'd': 4, 'e': 5}

>>> dic.update(aa=8)

>>> dic

{1: 'a', 2: 'b', 3: 'c', 'd': 4, 'e': 5, 'aa': 8}

通过键来查询:

dic[key],有此key则返回相应的值,无此key则报错。

>>> dic = {1:'a', 2:'b', 3:'c'}

>>> dic[4]

Traceback (most recent call last):

File "", line 1, in

KeyError: 4

>>> dic[2]

'b'

get(key[, default]):default=None,1、如果设置了 则在没有此key时会返回,没设置则返回None。2、有此key会返回对应的值,而不会返回default设置的值。

>>> dic = {1:'a', 2:'b', 3:'c'}

>>> dic.get(4, '没有此key')

'没有此key'

>>> dic.get(4)

>>> dic.get(4) == None

True

>>> dic.get(1, '...')

'a'

通过dic的keys(), values(), items()来查询:返回的结果是类似于列表的元素。都可被list。

keys()

>>> dic = {1:'a', 2:'b', 3:'c'}

>>> dic.keys()

dict_keys([1, 2, 3])

values()

>>> dic = {1:'a', 2:'b', 3:'c'}

>>> dic.values()

dict_values(['a', 'b', 'c'])

items()

>>> dic = {1:'a', 2:'b', 3:'c'}

>>> dic.items()

dict_items([(1, 'a'), (2, 'b'), (3, 'c')])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值