python中字典的操作
16lz
2021-01-22
1.Python dict数据类型的实现原理
Python dict的底层数据结构还是数组,但是元素添加以及获取,需要定位到在数组中的问题,使用的是哈希表的原理。
2.字典的定义
#直接定义
d = {'zhangsan': '82781443', 'lisi': '827866123', 'wangwu': '82781203'}
#用列表初始化
items = [('zhangsan', '82781443'), ('lisi', '827866123'), ('wangwu', '82781203')]
d = dict(items)
#用dict函数初始化
d = dict(zhangsan='82781443', lisi='827866123', wangwu='82781203')
#用dict函数初始化
d1 = {'zhangsan': '82781443', 'lisi': '827866123'}
d2 = {'wangwu': '82781203'}
d = dict(d1, **d2)
#使用列表,然后通过zip/dict来构造
names = ['zhangsan', 'lisi', 'wangwu']
contacts = ['82781443', '827866123', '82781203']
d = dict(zip(names, contacts))
(a)基本的操作
len(d) #返回字典的key-value对的数量(b)字典方法
d[k] #取出字典d中key为k的值
d[k]=v #给字典中指定的key赋值,若key在字典中不存在,则增加key-value键值对
del d[k] #删除键为k的项
k in d #检查d中是否有含有键为k的项
d.clear() #清除字典中所有的项d.copy() #浅拷贝d1 = deepcopy(d) #深拷贝{}.fromkeys(['keyname_1', 'keyname_2']) #生成一个{'key1': None, 'key2': None}的字典dict.fromkeys(['keyname_1', 'keyname_2']) #同上d.get('keyname') #获取key为keyname的元素值,如果不存在返回Noned.has_key('keyname') #判断字典对象是否有key为keyname的元素d.pop('keyname') #获取key为keyname的值,并将该key-value对从dict中移除d.popitem() #从字典对象中随机弹出弹出一个key-value对,并在dict中移除d.setdefault('keyname', 'valuename') #返回字典对象中key为keyname所对应的值。如果keyname在字典中不存在,那么会在字典中添加keyname:valuename键值对;如果keyname在字典中存在,那么直接过去该keyname对应的值d.update(x) #使用字典x去更新字典d,若x的key在d中不存在就添加到d中;若x的key在d中存在,那么就会覆盖d中的valued.items()和d.iteritems() #items返回字典key-value的列表,iteritems返回所有key-value的迭代器d.keys()和d.iterkeys() #keys返回字典key的列表,iterkeys返回字典key的迭代器d.values()和d.itervalues() #values返回字典中所有value的列表,itervalues()返回字典中所有的value的迭代器
更多相关文章
- 如何使用不同的类python在一个类中的一个窗口中更新列表框
- python打印列表的下标和值的例子:
- 使用python如何在列表列表中找到元素,而关键元素是内部列表的元素
- Python学习记录--关于列表和字典的比较
- 如何将两个列表中的数据写入csv中的列?
- 在python 3.3列表中查找最小值
- python基础练习--列表问题
- 如何用所有可能的方式将一个列表分割成对?
- 学习python的第十六天(迭代器,三元表达式,列表生成式,字典生成式,