python獲取字典的鍵
㈠ python字典操作函數
字典是一種通過名字或者關鍵字引用的得數據結構,其鍵可以是數字、字元串、元組,這種結構類型也稱之為映射。字典類型是Python中唯一內建的映射類型,基本的操作包括如下:
  
 (1)len():返回字典中鍵—值對的數量;
  
 (2)d[k]:返回關鍵字對於的值;
  
 (3)d[k]=v:將值關聯到鍵值k上;
  
 (4)del d[k]:刪除鍵值為k的項;
  
 (5)key in d:鍵值key是否在d中,是返回True,否則返回False。
  
 (6)clear函數:清除字典中的所有項
  
 (7)函數:返回一個具有相同鍵值的新字典;deep()函數使用深復制,復制其包含所有的值,這個方法可以解決由於副本修改而使原始字典也變化的問題
  
 (8)fromkeys函數:使用給定的鍵建立新的字典,鍵默認對應的值為None
  
 (9)get函數:訪問字典成員
  
 (10)has_key函數:檢查字典中是否含有給出的鍵
  
 (11)items和iteritems函數:items將所有的字典項以列表方式返回,列表中項來自(鍵,值),iteritems與items作用相似,但是返回的是一個迭代器對象而不是列表
  
 (12)keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器
  
 (13)pop函數:刪除字典中對應的鍵
  
 (14)popitem函數:移出字典中的項
  
 (15)setdefault函數:類似於get方法,獲取與給定鍵相關聯的值,也可以在字典中不包含給定鍵的情況下設定相應的鍵值
  
 (16)update函數:用一個字典更新另外一個字典
  
 (17) values和itervalues函數:values以列表的形式返回字典中的值,itervalues返回值得迭代器,由於在字典中值不是唯一的,所以列表中可以包含重復的元素
  
 一、字典的創建
  
 1.1 直接創建字典
  
 d={'one':1,'two':2,'three':3}
  
 printd
  
 printd['two']
  
 printd['three']
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':3,'two':2,'one':1}
  
 >>>
  
 1.2 通過dict創建字典
  
 # _*_ coding:utf-8 _*_
  
 items=[('one',1),('two',2),('three',3),('four',4)]
  
 printu'items中的內容:'
  
 printitems
  
 printu'利用dict創建字典,輸出字典內容:'
  
 d=dict(items)
  
 printd
  
 printu'查詢字典中的內容:'
  
 printd['one']
  
 printd['three']
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 items中的內容:
  
 [('one',1), ('two',2), ('three',3), ('four',4)]
  
 利用dict創建字典,輸出字典內容:
  
 {'four':4,'three':3,'two':2,'one':1}
  
 查詢字典中的內容:
  
 >>>
  
 或者通過關鍵字創建字典
  
 # _*_ coding:utf-8 _*_
  
 d=dict(one=1,two=2,three=3)
  
 printu'輸出字典內容:'
  
 printd
  
 printu'查詢字典中的內容:'
  
 printd['one']
  
 printd['three']
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 輸出字典內容:
  
 {'three':3,'two':2,'one':1}
  
 查詢字典中的內容:
  
 >>>
  
 二、字典的格式化字元串
  
 # _*_ coding:utf-8 _*_
  
 d={'one':1,'two':2,'three':3,'four':4}
  
 printd
  
 print"three is %(three)s."%d
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'four':4,'three':3,'two':2,'one':1}
  
 threeis3.
  
 >>>
  
 三、字典方法
  
 3.1 clear函數:清除字典中的所有項
  
 # _*_ coding:utf-8 _*_
  
 d={'one':1,'two':2,'three':3,'four':4}
  
 printd
  
 d.clear()
  
 printd
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'four':4,'three':3,'two':2,'one':1}
  
 {}
  
 >>>
  
 請看下面兩個例子
  
 3.1.1
  
 # _*_ coding:utf-8 _*_
  
 d={}
  
 dd=d
  
 d['one']=1
  
 d['two']=2
  
 printdd
  
 d={}
  
 printd
  
 printdd
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'two':2,'one':1}
  
 {}
  
 {'two':2,'one':1}
  
 >>>
  
 3.1.2
  
 # _*_ coding:utf-8 _*_
  
 d={}
  
 dd=d
  
 d['one']=1
  
 d['two']=2
  
 printdd
  
 d.clear()
  
 printd
  
 printdd
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'two':2,'one':1}
  
 {}
  
 {}
  
 >>>
  
 3.1.2與3.1.1唯一不同的是在對字典d的清空處理上,3.1.1將d關聯到一個新的空字典上,這種方式對字典dd是沒有影響的,所以在字典d被置空後,字典dd裡面的值仍舊沒有變化。但是在3.1.2中clear方法清空字典d中的內容,clear是一個原地操作的方法,使得d中的內容全部被置空,這樣dd所指向的空間也被置空。
  
 3.2 函數:返回一個具有相同鍵值的新字典
  
 # _*_ coding:utf-8 _*_
  
 x={'one':1,'two':2,'three':3,'test':['a','b','c']}
  
 printu'初始X字典:'
  
 printx
  
 printu'X復制到Y:'
  
 y=x.()
  
 printu'Y字典:'
  
 printy
  
 y['three']=33
  
 printu'修改Y中的值,觀察輸出:'
  
 printy
  
 printx
  
 printu'刪除Y中的值,觀察輸出'
  
 y['test'].remove('c')
  
 printy
  
 printx
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 初始X字典:
  
 {'test': ['a','b','c'],'three':3,'two':2,'one':1}
  
 X復制到Y:
  
 Y字典:
  
 {'test': ['a','b','c'],'one':1,'three':3,'two':2}
  
 修改Y中的值,觀察輸出:
  
 {'test': ['a','b','c'],'one':1,'three':33,'two':2}
  
 {'test': ['a','b','c'],'three':3,'two':2,'one':1}
  
 刪除Y中的值,觀察輸出
  
 {'test': ['a','b'],'one':1,'three':33,'two':2}
  
 {'test': ['a','b'],'three':3,'two':2,'one':1}
  
 >>>
  
 註:在復制的副本中對值進行替換後,對原來的字典不產生影響,但是如果修改了副本,原始的字典也會被修改。deep函數使用深復制,復制其包含所有的值,這個方法可以解決由於副本修改而使原始字典也變化的問題。
  
 # _*_ coding:utf-8 _*_
  
 fromimportdeep
  
 x={}
  
 x['test']=['a','b','c','d']
  
 y=x.()
  
 z=deep(x)
  
 printu'輸出:'
  
 printy
  
 printz
  
 printu'修改後輸出:'
  
 x['test'].append('e')
  
 printy
  
 printz
  
 運算輸出:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 輸出:
  
 {'test': ['a','b','c','d']}
  
 {'test': ['a','b','c','d']}
  
 修改後輸出:
  
 {'test': ['a','b','c','d','e']}
  
 {'test': ['a','b','c','d']}
  
 >>>
  
 3.3 fromkeys函數:使用給定的鍵建立新的字典,鍵默認對應的值為None
  
 # _*_ coding:utf-8 _*_
  
 d=dict.fromkeys(['one','two','three'])
  
 printd
  
 運算輸出:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':None,'two':None,'one':None}
  
 >>>
  
 或者指定默認的對應值
  
 # _*_ coding:utf-8 _*_
  
 d=dict.fromkeys(['one','two','three'],'unknow')
  
 printd
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':'unknow','two':'unknow','one':'unknow'}
  
 >>>
  
 3.4 get函數:訪問字典成員
  
 # _*_ coding:utf-8 _*_
  
 d={'one':1,'two':2,'three':3}
  
 printd
  
 printd.get('one')
  
 printd.get('four')
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':3,'two':2,'one':1}
  
 1
  
 None
  
 >>>
  
 註:get函數可以訪問字典中不存在的鍵,當該鍵不存在是返回None
  
 3.5 has_key函數:檢查字典中是否含有給出的鍵
  
 # _*_ coding:utf-8 _*_
  
 d={'one':1,'two':2,'three':3}
  
 printd
  
 printd.has_key('one')
  
 printd.has_key('four')
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':3,'two':2,'one':1}
  
 True
  
 False
  
 >>>
  
 3.6 items和iteritems函數:items將所有的字典項以列表方式返回,列表中項來自(鍵,值),iteritems與items作用相似,但是返回的是一個迭代器對象而不是列表
  
 # _*_ coding:utf-8 _*_
  
 d={'one':1,'two':2,'three':3}
  
 printd
  
 list=d.items()
  
 forkey,valueinlist:
  
   printkey,':',value
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':3,'two':2,'one':1}
  
 three :3
  
 two :2
  
 one :1
  
 >>>
  
 # _*_ coding:utf-8 _*_
  
 d={'one':1,'two':2,'three':3}
  
 printd
  
 it=d.iteritems()
  
 fork,vinit:
  
   print"d[%s]="%k,v
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':3,'two':2,'one':1}
  
 d[three]=3
  
 d[two]=2
  
 d[one]=1
  
 >>>
  
 3.7 keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器
  
 # _*_ coding:utf-8 _*_
  
 d={'one':1,'two':2,'three':3}
  
 printd
  
 printu'keys方法:'
  
 list=d.keys()
  
 printlist
  
 printu'\niterkeys方法:'
  
 it=d.iterkeys()
  
 forxinit:
  
   printx
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':3,'two':2,'one':1}
  
 keys方法:
  
 ['three','two','one']
  
 iterkeys方法:
  
 three
  
 two
  
 one
  
 >>>
  
 3.8 pop函數:刪除字典中對應的鍵
  
 # _*_ coding:utf-8 _*_
  
 d={'one':1,'two':2,'three':3}
  
 printd
  
 d.pop('one')
  
 printd
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':3,'two':2,'one':1}
  
 {'three':3,'two':2}
  
 >>>
  
 3.9 popitem函數:移出字典中的項
  
 # _*_ coding:utf-8 _*_
  
 d={'one':1,'two':2,'three':3}
  
 printd
  
 d.popitem()
  
 printd
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':3,'two':2,'one':1}
  
 {'two':2,'one':1}
  
 >>>
  
 3.10 setdefault函數:類似於get方法,獲取與給定鍵相關聯的值,也可以在字典中不包含給定鍵的情況下設定相應的鍵值
  
 # _*_ coding:utf-8 _*_
  
 d={'one':1,'two':2,'three':3}
  
 printd
  
 printd.setdefault('one',1)
  
 printd.setdefault('four',4)
  
 printd
  
 運算結果:
  
 {'three':3,'two':2,'one':1}
  
 {'four':4,'three':3,'two':2,'one':1}
  
 >>>
  
 3.11 update函數:用一個字典更新另外一個字典
  
 # _*_ coding:utf-8 _*_
  
 d={
  
   'one':123,
  
   'two':2,
  
   'three':3
  
   }
  
 printd
  
 x={'one':1}
  
 d.update(x)
  
 printd
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 {'three':3,'two':2,'one':123}
  
 {'three':3,'two':2,'one':1}
  
 >>>
  
 3.12 values和itervalues函數:values以列表的形式返回字典中的值,itervalues返回值得迭代器,由於在字典中值不是唯一的,所以列表中可以包含重復的元素
  
 # _*_ coding:utf-8 _*_
  
 d={
  
   'one':123,
  
   'two':2,
  
   'three':3,
  
   'test':2
  
   }
  
 printd.values()
  
 運算結果:
  
 =======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
  
 [2,3,2,123]
  
 >>>
㈡ python怎樣順序查詢字典中的鍵
dict使用items()遍歷字典的方法(python3是items(),python2是iteritems())。
dict1={'a':2,'b':3,'c':2}
defdict(value):
fork,vindict1.items():
ifv==value:
print("{%s:%s}"%(k,v))
dict(2)
㈢ python字典key不同,value相同的情況下,怎麼取出所有key
答: 具體問題具體分析,可使用一個for循環遍歷整個字典得到 value值對應的鍵。

運行結果
希望能夠幫助到你~
㈣ python怎樣遍歷.py的內容
列表的遍歷
方法一:通過for循環
li = [i for i in range(10)]
for i in li:
    print(i)
方法二:通過while循環
# 雖然for循環已經很好用了,但是在有些情況下,使用while循環可以更靈活
# 只需要將判斷條件設置為小於列表長度,即可完成列表通過while循環的遍歷
li = [i for i in range(10)]
i = 0
while i < len(li):
    print(li[i])
    i += 1
方法三:配合enumerate使用,同時獲取列表的索引
li = [i + 1 for i in range(10)]
 
# 此時,i為一個元組,元組的第一個元素為索引,第二個元素為原列表的元素
# 因此,在遍歷列表的同時,需要同時獲取坐標的情況下,可以配合enumerate()一起使用
for i in enumerate(li):
    print(i)
字典的遍歷
字典的遍歷和列表有一些不同,因為字典有鍵和值兩個關鍵部分。默認的遍歷情況,是遍歷字典的鍵,當然,可以通過字典的鍵取得值,也可以直接遍歷值,或者直接遍歷鍵和值。
方法一:直接使用for循環
直接使用for循環對一個字典進行遍歷,默認取得的是字典的鍵
dt = {i: i + 1 for i in range(10)}
 
for i in dt:
    print("字典的鍵:", i) # 字典的鍵
    print("字典的值:", dt[i]) # 字典的值
方法二:遍歷dict.keys()
這種方法與方法一的效果其實是一樣的,同樣是獲取字典的鍵
dt = {i: i + 1 for i in range(10)}
 
for i in dt.keys():
    print("字典的鍵:", i) # 字典的鍵
    print("字典的值:", dt[i]) # 字典的值
方法三:遍歷dict.values()
這種方法與方法一和二很不相同,因為它只獲取了字典的值
dt = {i: i + 1 for i in range(10)}
 
# 這是很特殊的方法,因為它沒有獲取字典的鍵
for i in dt.values():
    print("字典的值:", i) # 此時i不再是字典的鍵,而是值
方法四:遍歷dict.items()
這種方法一般來說要更好,因為它同時獲取到了字典的鍵和值,而且性能上要高於先獲取鍵,再通過鍵獲取對應的值
dt = {i: i + 1 for i in range(10)}
 
for i in dt.items():
    print("字典的鍵值對:", i)
    print("字典的鍵:", i[0])
    print("字典的值:", i[1])
總結
1,列表的遍歷比較簡單,除了配合enumerate()使用,可以同步獲取索引以外,並沒有特別值得糾結的。
2,字典的遍歷方法比較多,其中第四種是能適用於一切情況的,前兩種也可以適用於一切情況,但是如果你同時需要獲取鍵和值,性能不如第四種要好。第三種比較特別,除非你真的只需要字典的值,否則它在多數情況下是不能夠滿足需求的。
㈤ python字典,如何查找值中包含指定字元串的鍵
1、說明python中檢測字典的鍵中是否含有某串字元,便利字典鍵值,再判斷字元串是否在鍵值中即可。2、示例代碼:# 定義一個字典dic = {'1984/1/2': 123, '1984/1/3': 0, '1985/1/1': 156}# 遍歷字典鍵中是否包含1984for key in dic: if '1984' in key: print('鍵值中包含字元串"1984"') # 或者需要的其它操作 else: print('鍵值中不包含字元串"1984"')3、執行結果:鍵值中包含字元串"1984"鍵值中不包含字元串"1984"鍵值中包含字元串"1984"

4、其它說明:python使用for in直接操作字典就是遍歷字典的鍵值,python使用in操作來判斷字元串中是否包含子串最方便,要優於使用字元串的函數index或者find。
index函數在找不到子串時會報錯,find函數會返回-1。
㈥ python dict用法

dic= {key1 : value1, key2 : value2 }
字典也被稱作關聯數組或哈希表。下面是幾種常見的字典屬性:
1、dict.clear()
clear() 用於清空字典中所有元素(鍵-值對),對一個字典執行 clear() 方法之後,該字典就會變成一個空字典。
2、dict.()
() 用於返回一個字典的淺拷貝。
3、dict.fromkeys()
fromkeys() 使用給定的多個鍵創建一個新字典,值默認都是 None,也可以傳入一個參數作為默認的值。
4、dict.get()
get() 用於返回指定鍵的值,也就是根據鍵來獲取值,在鍵不存在的情況下,返回 None,也可以指定返回值。
5、dict.items()
items() 獲取字典中的所有鍵-值對,一般情況下可以將結果轉化為列表再進行後續處理。
6、dict.keys()
keys() 返回一個字典所有的鍵。
㈦ python字典怎麼取key對應的值
對應值:value = dictname[key]。字典是Python語言中唯一的映射類型。映射類型對象里哈希值(鍵,key)和指向的對象(值,value)是一對多的的關系,通常被認為是可變的哈希表。
㈧ python 中關於字典的鍵
 WTF
   "JavaScript" 怎麼不見了?
 1.Python 字典通過檢查鍵值是否相等和比較哈希值來確定兩個鍵是否相同.
   2.具有相同值的不可變對象在Python中始終具有相同的哈希值.
具有不同值的對象也可能具有相同的哈希值(哈希沖突).
看完記得點贊哦,筆芯
