python字典的鍵
㈠ python 的鍵可以是字典么
key不能是字典
但是返回值參數可以是字典
㈡ python 只獲得字典中所有鍵的名字到列表中
d={'a': 2, 'b': 3, 'd': 4}
dlist=list(d.keys())
用字典的keys方法獲得所有鍵的名字,python3需要轉換為list,python2直接為list
㈢ python 字典可以作為集合的元素 和 集合可以作為字典的鍵,分別錯在哪裡呀
集合不可以做字典的鍵,字典鍵必須是不可以變的,不能修改的。而集合具有add()方法是可以變。字典為什麼不可以做集合的元素呢?我也不太了解。本人是萌新一枚。
㈣ python字典的鍵是唯一的嗎
dict中鍵只有在值和類型完全相同的時候才視為一個鍵:
mydict = {1:1,'1':1} #此時mydict[1] 與 mydict['1']是兩個不同的鍵值
dict的一些常用方法:
clear(): #清空字典(): #淺復制字典.deep(): #深復制get('xx', 'return'): #訪問元素不存在時返回None,或者手動指定返回值has_key(): #檢查字典中是否含有鍵,相當於 in 關鍵字items(): #將字典以列表[(k,v),(k,v)]的形式返回iteritem(): #類似items,但返回的是迭代器對象keys(): #返回包含所有鍵的listiterkeys(): #返回包含所有鍵的迭代器對象values(): #同keysitervalues(): #同iterkeyspop('x'): #移除鍵值對並返回其值popitem(): #隨機移除一個鍵值對並返回其值update(otherdict): #
㈤ 軟體:Python中字典的鍵可不可以重復
字典中的值沒有任何限制, 可以是任意Python對象,即從標准對象到用戶自定義對象皆可,但是字典中的鍵是有類型限制的。
1、不允許一個鍵對應多個值。必須明確一條原則:每個鍵只能對應一個項。也就是說:一鍵對應多個值是不允許的(像列表、元組和其他字典這樣的容器對象是可以的)。 當有鍵發生沖突(即字典鍵重復賦值),取最後(最近)的賦值。Python並不會因字典中的鍵存在沖突而產生一個錯誤,它不會檢查鍵的沖突是因為如果真這樣做的話,在每個鍵-值對賦值的時候都會做檢查,這將會佔用一定量的內存。如:>>> dict1 = {'foo':789, 'foo': 'xyz'} >>> dict1 結果:{'foo': 'xyz'}
(2)鍵必須是可哈希的。大多數Python對象可以作為鍵,但它們必須是可哈希的對象。像列表和字典這樣的可變類型,由於它們不是可哈希的,所以不能作為鍵。所有不可變的類型都是可哈希的,因此它們都可以做為字典的鍵。
㈥ python獲取字典的key值
兩種方法:for key in dict,可以一一取到key的值,或者dict.keys()可以取到key的列表。
㈦ python 列表可以作為字典的"鍵"嗎
不行,無法使用一個列表作為一個字典的鍵
㈧ Python中的字典是什麼
字典(Dictionary)
字典也是Python語言中經常使用的一種數據類型。跟列表類似,字典是另外一種可存儲任意類型的數據,並且字典儲存的數據也是可以修改的。
不同於列表的是,字典每個基本元素都包括兩個部分:鍵(key) 和 鍵對應的值(value)。
- d = {"key1" : 1, "key2" : "hi", "key3":[]}
在字典中,鍵的內容是不可重復的。鍵為不可變數據類型,值可以是任何數據類型。在這里,鍵只支持字元串類型。
字典最大的優勢就是能在海量數據下利用「鍵」快速查找出想要的值,當有很多數據需要存儲的時候,我們給每個值都打個標簽,也就是「鍵」;想要調用這個值時,字典能夠利用這個標簽快速幫我們找到它。但是如果標簽重復了,字典不知道哪個值才是對的,就會報錯哦~
列表是根據排序來記錄每項的值,但是字典是沒有順序的,所以同一字典,每次列印出的排序可能是不同的。「鍵」才是調用字典的關鍵元素。
字典是基礎的數據類型,所以變數也可以被賦值為字典。
鍵和值之間用冒號(:)分割,每對元素之間用逗號(,)分割,整個字典的數據在大括弧{}中,格式如下所示:
㈨ python如何給字典的鍵對應的值為字典項的字
importjson
importcodecs
importsys
reload(sys)
sys.setdefaultencoding('utf8')
defFormat_data():
HY_Info=Search_HYInfo()
ChildNodes=Search_ChildNodes()
print'開始格式化數據'
HY_Nodes=[]
forHY_idinChildNodes.keys():
HY_Node={}
HY_Node['id']=HY_id
ifHY_idinHY_Info.keys():
HY_Node['text']=HY_Info[HY_id].decode('gbk')+'('+str(HY_id)+')'
else:
HY_Node['text']='--'
printHY_Node['text']
HY_Node['children']=[]
forchild_idinChildNodes[HY_id]:
child_Node={}
child_Node['id']=child_id
ifchild_idinHY_Info.keys():
child_Node['text']=HY_Info[child_id].decode('gbk')+'('+str(child_id)+')'
else:
child_Node['text']='--'
ifchild_idinChildNodes.keys():
child_Node['children']=True
else:
child_Node['children']=False
HY_Node['children'].append(child_Node)
HY_Nodes.append(HY_Node)
json_data=json.mps(HY_Nodes,ensure_ascii=False,encoding="gb2312")
withcodecs.open('./data/Parents_leves.json',"wb","utf-8")asf:
f.write(json_data)
㈩ python能不能以字典中的鍵為變數名,以鍵的
這個報錯和變數名,沒有關系。
你生成字典的代碼 'b',2 錯了,應該是'b':2