Ⅰ python初學(十九)
「鍵值對」是組織數據的一種重要方式,廣泛應用在Web系統中。鍵值對的基本思想是將「值」信息關聯一個「鍵」信息,進而通過鍵信息查找對應值信息,這個過程叫映射。Python語言中通過字典類型實現映射。
Python語言中的字典使用大括弧{}建立,每個元素是一個鍵值對,使用方式如下:
{<鍵1>:<值1>, <鍵2>:<值2>, ... , <鍵n>:<值n>}
其中,鍵和值通過冒號連接,不同鍵值對通過逗號隔開。字典類型也具有和集合類似的性質,即鍵值對之間沒有順序且不能重復。
列表類型採用元素順序的位置進行索引。由於字典元素「鍵值對」中鍵是值的索引,因此,可以直接利用鍵值對關系索引元素。
字典中鍵值對的索引模式如下,採用中括弧格式:
<值> = <字典變數>[<鍵>]
print(d[『201801』])
輸出的也就是: 小明
使用大括弧可以創建字典。通過索引和賦值配合,可以向字典中增加元素。
字典是存儲可變數量鍵值對的數據結構,鍵和值可以是任意數據類型,通過鍵索引值,並可以通過鍵修改值。
字典類型有一些通用的操作函數
dict()函數用於生成一個空字典,作用和{}一致
字典類型存在一些操作方法,使用語法形式是:
<字典變數>.<方法名稱>(<方法參數>)
d.keys()返回字典中的所有鍵信息,返回結果是Python的一種內部數據類型dict_keys,專用於表示字典的鍵。如果希望更好的使用返回結果,可以將其轉換為列表類型。
d.values()返回字典中的所有值信息,返回結果是Python的一種內部數據類型dict_values。如果希望更好的使用返回結果,也可以將其轉換為列表類型。
d.items()返回字典中的所有鍵值對信息,返回結果是Python的一種內部數據類型dict_items。當然也可以轉成列表類型 即: list(d.items())
d.get(key, default)根據鍵信息查找並返回值信息,如果key存在則返回相應值,否則返回默認值,第二個元素default可以省略,如果省略則默認值為空。 例如: 就拿上邊的數組d 來說 d.get(『201801』,「不存在」) 相當於一個if語句 如果key 201801 存在 就返回201801 values 不存在就返回 默認值 不存在
d.pop(key, default)根據鍵信息查找並取出值信息,如果key存在則返回相應值,否則返回默認值,第二個元素default可以省略,如果省略則默認值為空。相比d.get()方法,d.pop()在取出相應值後,將從字典中刪除對應的鍵值對。 和d.get方法類似
d.popitem()隨機從字典中取出一個鍵值對,以元組(key,value)形式返回。取出後從字典中刪除這個鍵值對。
d.clear()刪除字典中所有鍵值對。
此外,如果希望刪除字典中某一個元素,可以使用Python保留字del。 即: del d[key]
字典類型也支持保留字in,用來判斷一個鍵是否在字典中。如果在則返回True,否則返回False。
與其他組合類型一樣,字典可以遍歷循環對其元素進行遍歷,基本語法結構如下:
for <變數名> in <字典名>
<語句塊>
for循環返回的變數名是字典的索引值。如果需要獲得鍵對應的值,可以在語句塊中通過get()方法獲得。
以上就是本章的所有內容,感謝大家.
Python 學習的基礎(持續更新中......)
Ⅱ python中的字典,列表,以及sorted函數問題,列表變字典
首先字典這種數據類型本來就是無序的,需要排序的話,當然只能是列表這種可以排序的數據結構。
當然,如果只是輸出的話,那麼沒問題,你轉成字元串好了,想如何顯示就如何顯示。
乾脆給你打出來好了:
fromoperatorimportitemgetter
a={
'u1':{'i1':1,'i2':8,'i3':15,'i4':12},
'u2':{'i1':3,'i2':4,'i3':10,'i4':2},
'u3':{'i1':9,'i2':2,'i3':5,'i4':11},
'u4':{'i1':7,'i2':5,'i3':1,'i4':5}
}
b={}
foruina.keys():
b[u]=sorted(a[u].items(),key=itemgetter(1),reverse=False)[0:2]
l=sorted(b.items(),key=itemgetter(0),reverse=False)
s=''
printl
forxinl:
d={}
foryinx[1]:
d[y[0]]=y[1]
s+=','+"'%s':%s"%(x[0],d)
print'{%s}'%s[1:]
結果:{'u1':{'i1': 1, 'i2': 8},'u2':{'i1': 3, 'i4': 2},'u3':{'i3': 5, 'i2': 2},'u4':{'i3': 1, 'i2': 5}}
Ⅲ Python 怎麼將列表類字典組字元串轉換為列表
如果是你發的那一串肯定是可以用json loads的,如果不能,發下原文字元串。
Ⅳ python字典 相同KEY整成一個列表
由於些軟體無法正常輸出所需格式樣式,只能截圖給你。
圖1為代碼,圖2為效果。
Ⅳ Python 怎麼實現字典拆分成兩個有序列表
單純從數據結構上來講的話,字典的數據結構是散列,也就是哈希表,它是無序的,而列表的數據結構是鏈表,是有序的,所以想把字典轉換成列表並且保持順序不變,是不可行的。題主可以使用OrderedDict(Python 2.7+)有序字典,OrderedDict是dict的子類,它記住了內容添加的順序。另外如果想把字典的key轉換成列表,使用dict.keys()就可以了。現在我要比較所有123和234的大小。我現在又使用了一個list,但我想知道有沒有可以直接能調用的函數什麼的
Ⅵ python如何將多維字典每個鍵的值轉換成多維列表
定義一個遞歸函數就行了,下面是一個例子:
def get(d):
l=[]
for k,v in d.items():
if isinstance(v,dict):
l.append(get(v))
else:
l.append(v)
return l
d={"1":"2","a":{"b":{"c":"1"}},"b":"c"}
l=get(d)
print(l)
這是運行截圖: