當前位置:首頁 » 編程語言 » 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'])
>>>

熱點內容
加密移動硬碟忘記密碼 發布:2025-09-20 12:31:47 瀏覽:517
資料庫約束是什麼 發布:2025-09-20 12:14:07 瀏覽:740
我的世界統一驗證伺服器 發布:2025-09-20 11:51:59 瀏覽:187
dialogandroid 發布:2025-09-20 11:32:18 瀏覽:472
手機軟體用什麼伺服器 發布:2025-09-20 11:26:35 瀏覽:361
搜索php內容 發布:2025-09-20 11:25:05 瀏覽:226
python的quote 發布:2025-09-20 11:07:56 瀏覽:338
vb60連接資料庫 發布:2025-09-20 10:56:18 瀏覽:289
c語言ltoa 發布:2025-09-20 10:51:35 瀏覽:509
mysql的存儲過程參數類型 發布:2025-09-20 10:41:58 瀏覽:819