当前位置:首页 » 编程语言 » python字典比较

python字典比较

发布时间: 2022-02-21 23:21:34

python字典的特点和用处

字典的特点:

字典的每个健值的展现方式是:key:value用冒号分割;键值之间为逗号分割;整个字典用大括号{}将键值括起来;

键值可以是任意类型的对象;

键必须是唯一的;

键是不可变的;
字典的作用:
字典(日常生活中的字典和Python字典)旨在让你能够轻松地找到特定的单词(键),以获悉其定义(值)。

在很多情况下,使用字典都比使用列表更合适。下面是Python字典的一些用途:

表示棋盘的状态,其中每个键都是由坐标组成的元组;

存储文件修改时间,其中的键为文件名;

数字电话/地址簿。

㈡ python字典怎么比较值

  1. 先建立一个字典,比如:phoneNumbers =
    {'Bob': '444-4321', 'John': '555-1234', 'Mary': '555-6789', 'Jenny': '867-5309'}

  2. 按照值的大小顺序排列

for value in sorted(phoneNumbers.values()):
for key in phoneNumbers.keys():
if phoneNumbers[key] == value:
print key, phoneNumbers[key]

㈢ 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))

㈣ python怎么比较字典中的元素

i={1:"192.168.0.1:1000",2:"192.168.0.1:1000",3:"192.168.0.1:1000",4:"192.168.0.1:1001",5:"192.168.0.1:1001",6:"192.168.0.1:1002",7:"192.168.0.1:1003"}
for f in range(1,8):
a=i[f]
for w in range(2,8):
b=i[w]
if a==b and f!=w:
print f,w
后面的再操作一下字典即可

㈤ python 中字典比较

l=[{'pri':1,'val':'4100'},{'pri':2,'val':'452'},{'pri':2,'val':'283'}]
l.sort(key=lambdad:d['pri'])
ifl[0]['pri']!=l[1]['pri']:
print(l[0]['pri'])

㈥ python字典和列表区别有哪些

列表

1.任意对象的有序集合

列表是一组任意类型的值,按照一定顺序组合而成的。

2.通过偏移读取

组成列表的值叫做元素(Elements)。每一个元素被标识一个索引,第一个索引是0,序列的功能都能实现。

3.可变长度,异构以及任意嵌套

列表中的元素可以是任意类型,甚至是列表类型,也就是说列表可以嵌套。

4.可变的序列

支持索引、切片、合并、删除等等操作,它们都是在原处进行修改列表。

5.对象引用数组

列表可以当成普通的数组,每当用到引用时,Python总是会将这个引用指向一个对象,所以程序只需处理对象的操作。当把一个对象赋给一个数据结构元素或变量名时,Python总是会存储对象的引用,而不是对象的一个拷贝。

相关推荐:《Python教程》

字典

1.通过键而不是偏移量来读取

字典就是一个关联数组,是一个通过关键字索引的对象的集合,使用键-值(key-value)进行存储,查找速度快。

2.任意对象的无序集合

字典中的项没有特定顺序,以“键”为象征。

3.可变长、异构、任意嵌套

同列表,嵌套可以包含列表和其他的字典等。

4.属于可变映射类型

因为是无序,故不能进行序列操作,但可以在远处修改,通过键映射到值。字典是唯一内置的映射类型(键映射到值的对象)。

5.对象引用表

字典存储的是对象引用,不是拷贝,和列表一样。字典的key是不能变的,list不能作为key,字符串、元祖、整数等都可以。

和list比较,dict有以下几个特点:

1.查找和插入的速度极快,不会随着key的增加而增加。

2.需要占用大量的内存,内存浪费多。

而list相反:

1.查找和插入的时间随着元素的增加而增加。

2.占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法。

㈦ Python中字典与列表的区别

字典:你知道一个key可以找到一个对应的value,通常你知道key是什么,像查字典一样,方向明确
列表:包含各种value,具体有些什么值不知道,通常需要遍历来取值。

㈧ 如何取出列表中字典的值并进行比对python

按照你的要求,遍历贪吃蛇的坐标位置,并和随机生成的坐标对比,如果相同就重新取值,不相同的时候输出的Python程序如下

importrandom
map_width=30
map_height=30
a=[{'x':2,'y':4},{'x':5,'y':6},{'x':7,'y':8},{'x':4,'y':4}]
random_x=random.randint(3,map_width-8)
random_y=random.randint(3,map_height-8)
flag=True
foriinrange(len(a)):
ifrandom_x==a[i]['x']andrandom_y==a[i]['y']:
flag==False
break
ifflag==True:
print("random_x=%d,random_y=%d"%(random_x,random_y))
else:
random_x=random.randint(3,map_width-8)
random_y=random.randint(3,map_height-8)

源代码(注意源代码的缩进)

㈨ python中,如何将列表中的一列数据和字典的key比较

我利用异常处理,把不符合要求的key跳过不处理,剩下的都是相同key拿出来的,而且只用了一次循环哦!
#--encoding:utf-8--
#ListAndDic.py

list = [1, 4, 7]
dict = {1:11,2:22,4:44,8:88}
result = []
for i in list:
try:
result.append(dict[i]) #如果key相同则存储,不同抛异常
except Exception,e:
print("不存在的key:"+str(e))
#do nothing
print(result)

# 不存在的key:7
# [11, 44]

㈩ python字典对比

tim@crunchbang:~/workspace$python
Python2.7.3(default,Mar142014,11:57:14)
[GCC4.7.2]onlinux2
Type"help","right","credits"or"license"formoreinformation.
>>>
>>>defcmpdicts(dct0,dct1):
...diffs=set()
...keys=set(dct0.keys()+dct1.keys())
...forkinkeys:
...ifcmp(dct0.get(k),dct1.get(k)):
...diffs.add(k)
...returndiffs
...
>>>printcmpdicts(
...{'test_two':'124','test_four':'185','test_one':'196','test_three':'26','test_five':'489'},
...{'test_two':'124','test_one':'196','test_three':'26'})
set(['test_four','test_five'])
>>>printcmpdicts(
...{'test_two':'124','test_four':'185','test_one':'196','test_three':'26','test_five':'489'},
...{'test_two':'122','test_one':'196','test_three':'26'})
set(['test_four','test_five','test_two'])
>>>printcmpdicts(
...{'test_two':'124','test_four':'185','test_one':'196','test_three':'26','test_five':'489'},
...{'test_two':'122','test_one':'196','test_three':'26','test_six':'FFF'})
set(['test_five','test_four','test_six','test_two'])
>>>

热点内容
python读取ini 发布:2025-09-20 10:06:46 浏览:484
仿联盟啦源码 发布:2025-09-20 09:49:25 浏览:658
在我的世界里如何找服务器 发布:2025-09-20 09:46:55 浏览:266
linux当交换机 发布:2025-09-20 09:40:29 浏览:448
ts文件加密 发布:2025-09-20 09:27:06 浏览:663
mysql优化数据库 发布:2025-09-20 09:23:22 浏览:938
汽车加装哪些实用的智能配置 发布:2025-09-20 08:55:21 浏览:981
主机编译代码性能主要靠什么决定 发布:2025-09-20 08:54:45 浏览:741
我的世界服务器如何后台发消息 发布:2025-09-20 08:42:28 浏览:25
真空压缩棉被 发布:2025-09-20 08:38:33 浏览:634