python字典如何根据key比较value

python字典如何根据key比较value,第1张

1sorted函数

首先介绍sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。

其中iterable表示可以迭代的对象,例如可以是dictitems()、dictkeys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序(从大到小),reverse=false则是顺序(从小到大),默认是reverse=false。

2按照key排序

要对字典按照key排序,可以直接调用sorted函数。

my_dict = {'lilee':25, 'age':24, 'phone':12}

sorted(my_dictkeys())

输出结果为

['age', 'lilee', 'phone']

直接使用sorted(my_dictkeys())就能按key值对字典排序,这里是按照顺序对key值进行排序的,如果想按照倒序排序的话,只需要将reverse置为true即可。

sorted(my_dcitkeys(), reverse = true)

3按照value值排序

共有三种方法可以实现将字典按照value值进行排序

(1)key使用lambda匿名函数取value进行排序

d = {'lilee':25, 'wangyan':21, 'liqun':32, 'age':19}

sorted(ditems(), key=lambda item:item[1])

输出结果为

[('age',19),('wangyan',21),('lilee',25),('liqun',32)]

如果需要倒序则

sorted(ditems(), key=lambda item:item[1], reverse=True)

得到的结果就会是

[('liqun',32),('lilee',25),('wangyan',21),('age',19)](2)使用operator的itemgetter进行排序

import operator

sorted(ditems(), key=operatoritemgetter(1))

输出结果为

[('age',19),('wangyan',21),('lilee',25),('liqun',32)]

(3)将key和value分装成元组,再进行排序

f = zip(dkeys(), dvalues())

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(beforeitems(), key=lambda e: e[1]))print(after)

# 取出前几个, 也可以在sorted返回的list中取前几个

required_cnt = 2cnt = 0

for key, value in afteritems():

cnt += 1if cnt > required_cnt:breakprint("{}:{}"format(key, value))

只要不弄成集合就可以赋值,来给你举例

dict_1={'key_1'}

这样得到的dict_1是set集合类型的,如果你想新建个字典dict_2让key的值为key_1,让value的值为value_1,则可以这样写

dict_2={}

dict_2['key_1']='value_1'

这是一种方法,更多方法自行了解

with open('iptxt', 'r') as fr:

ip = frread()split()

l = []

temp = {}

for s in set(ip):

    temp['ip'] = s

    temp['count'] = 0

    for i in ip:

        if s == i:

            temp['count'] += 1

    with open('ajson', 'a') as fw:

        fwwrite(str(temp)+'\n')

对应值:value = dictname[key]。字典是Python语言中唯一的映射类型。映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。

典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型。

字典类型与序列类型的区别:

存取和访问数据的方式不同。

序列类型只用数字类型的键(从序列的开始按数值顺序索引)。

映射类型可以用其他对象类型作键(如:数字、字符串、元祖,一般用字符串作键),和序列类型的键不同,映射类型的键直4接或间接地和存储数据值相关联。

以上就是关于python字典如何根据key比较value全部的内容,包括:python字典如何根据key比较value、python中怎样在dict的一个key下新添加一个value、python dict一个key不断写入文件 不同value 想实现从文件里读取不同的值,然后以{key:value}的形式存储等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10081729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存