python3 字典(dictionary)(二)
内置函数:
len(dict):计算字典元素个数,即键的总数
str(dict):输出字典,以可打印的字符串表示。
type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
dict.clear():删除字典内所有元素
dict.copy():返回一个字典的浅复制
dict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
1 dict.fromkeys(iterable[,value=None])
python中的解释:
实例:
注意以下几点:
1、该方法用于创建一个新的字典,并以可迭代对象中的元素分别作为字典中的键,且所有键对应同一个值,默认为None;
2、iterable: 用于创建新的字典的键的可迭代对象(字符串、列表、元祖、字典),所以它的值不能是数值型(int,float....)否则会报错;
dict.get(key,default=none):返回指定键的值,如果值不在字典中返回default值
key in dict:如果键在字典dict里返回true,否则返回false
dict.items():以列表返回可遍历的(键, 值) 元组数组
dict.keys():返回一个迭代器,可以使用 list() 来转换为列表
dict.setdefault(key,default=none):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2):把字典dict2的键/值对更新到dict里
dict.values():返回一个迭代器,可以使用 list() 来转换为列表
pop(key[,default]):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
d.popitem():随机返回并删除字典中的一对键和值(一般删除末尾对)。
字典的排序问题:
sorted():(利用上面的内置函数进行字典的‘排序’)
方法一、
1 dict= sorted(dict.items(), key=lambda d:d[0], reverse = True)
方法2、
b = sorted(d.items(), key=operator.itemgetter(1)
解释:
lambda为匿名函数:使用频率较高的一个关键字
语法:
1 A=lambda x:x+1 #语言解释 A = lambda 想要传递的参数:想要得到的数(可能带表达式)
实例:
lambda x, y: x*y;函数输入是x和y,输出是它们的积x*y
lambda:None;函数没有输入参数,输出是None
lambda *args: sum(args); 输入是任意个数的参数,输出是它们的和(隐性要求是输入参数必须能够进行加法运算)
lambda **kwargs: 1;输入是任意键值对参数,输出是1
详情请查阅文章:https://blog.csdn.net/zjuxsl/article/details/79437563
operator模块itemgetter()函数:该函数是定义了一个函数,通过该函数作用到对象上才能获取值。
注意:operator.itemgetter(1,2,3,4,5) 括号里的(1,2,3,4,5)是在获取参数中索引为1,2,3,4,5的数据,并且返回一个元组;