‘壹’ python 字典key是列表,转成字典
#!/usr/bin/envpython2
#coding=utf-8
"""
convertsomedataformat
"""
deflist_to_dict(rating):
return{'uid':rating[0],
'movieid':rating[1],
'rating':rating[2],
'time':rating[3]}
defconvert_train(train):
fork,ratingsintrain.iteritems():
train[k]=[list_to_dict(rating)forratinginratings]
returntrain
defmain():
r=convert_train({'uid1':[['uid1','movieid1','rating1','time1'],
['uid1','movieid2','rating2','time2'],
['uid1','movieid3','rating3','time3']]})
printr
if__name__=='__main__':
main()
‘贰’ python中怎样在dict的一个key下新添加一个value
如果没有这个key
直接添加值dict[k1]=v1
如果存在key,并且对应的值是个list类型
可以直接dict[k1].append(v1)
如果存在key,并且对应的值是一个简单的元素
那就没办法添加了
‘叁’ python字典中key怎么表示区间
python字典中key怎么表示区间,操作方法如下。
设备:mac
系统:ios15.4
软件:python3
1、首先在电脑中,打开操作系统的命令行工具python。
‘肆’ 一直不明白python字典的key是怎么回事
python字典其实就是python的键值对集合。键也就是key,相当于一个标签,举个通俗易懂的例子,字典相当于顺风快递的仓库,每一个键值对相当于一个包裹,key就是包裹上的地址,可以让你方便地找到包裹,值即value,就是包裹里面的东西。
希望可以帮助你
‘伍’ python 字典是否有key
第一种方法:使用自带函数实现。
在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单。
例:
#生成一个字典d = {'name':{},'age':{},'sex':{}}#打印返回值print d.has_key('name')#结果返回True
第二种方法:使用in方法
#生成一个字典d = {'name':{},'age':{},'sex':{}}#打印返回值,其中d.keys()是列出字典所有的keyprint name in d.keys()#结果返回True
上面两种方式,我更推荐使用第二种,因为has_key()是python2.2之前的方法,而且使用in的方法会更快一些。
最后告诉大家一点:除了使用in还可以使用not in,判定这个key不存在哦~
‘陆’ python里 key=lambda d:d[0]是什么意思谢谢
第一行代码是把一个字典绑定到一个名字(变量)上。
第二行代码是先将字典通过调用items()方法转换成(键、值)元组列表,再用sorted函数通过key=匿名函数指定(键、值)中的值为关键字进行排序。(在此例中,lambda d:d[1]是以(键、值)中的值为关键字进行排序,你的问题标题中说到是的key=lambda d:d[0]是以(键、值)中的键为关键字进行排序)。
‘柒’ python语句key有啥用
python有个数据结构,是字典,字典包含两个部分,key和value,value为key的值,key和value都可以做索引条件。
‘捌’ python中d.get(key)是什么意思是获取key的对应值
d应该是python的字典类型key-value,d.get(key)就是获取key对应的value
‘玖’ python计算字典里面有多少个key
字典没有下标的概念了,是使用key进行索引, 把代码改成这样就可以了: for key in record.keys(): record[key] += 1
‘拾’ python字典如何根据key比较value
1.sorted函数
首先介绍sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。
其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序(从大到小),reverse=false则是顺序(从小到大),默认是reverse=false。
2.按照key排序
要对字典按照key排序,可以直接调用sorted函数。
my_dict = {'lilee':25, 'age':24, 'phone':12}
sorted(my_dict.keys())
输出结果为
['age', 'lilee', 'phone']
直接使用sorted(my_dict.keys())就能按key值对字典排序,这里是按照顺序对key值进行排序的,如果想按照倒序排序的话,只需要将reverse置为true即可。
sorted(my_dcit.keys(), reverse = true)
3.按照value值排序
共有三种方法可以实现将字典按照value值进行排序
(1)key使用lambda匿名函数取value进行排序
d = {'lilee':25, 'wangyan':21, 'liqun':32, 'age':19}
sorted(d.items(), key=lambda item:item[1])
输出结果为
[('age',19),('wangyan',21),('lilee',25),('liqun',32)]
如果需要倒序则
sorted(d.items(), key=lambda item:item[1], reverse=True)
得到的结果就会是
[('liqun',32),('lilee',25),('wangyan',21),('age',19)](2)使用operator的itemgetter进行排序
import operator
sorted(d.items(), key=operator.itemgetter(1))
输出结果为
[('age',19),('wangyan',21),('lilee',25),('liqun',32)]
(3)将key和value分装成元组,再进行排序
f = zip(d.keys(), d.values())
c = sorted(f)
输出结果为
[('age',19),('wangyan',21),('lilee',25),('liqun',32)]
4.取出排序的前n个value值和key值
可以按照如下操作:
before = {"key1": 5,"key2": 6,"key3": 4,"key4": 3,
}# 排序after = dict(sorted(before.items(), key=lambda e: e[1]))print(after)
# 取出前几个, 也可以在sorted返回的list中取前几个
required_cnt = 2cnt = 0
for key, value in after.items():
cnt += 1if cnt > required_cnt:breakprint("{}:{}".format(key, value))