python的list函式把字典轉成列表如何保持列表

2021-05-04 15:42:58 字數 3382 閱讀 4527

1樓:匿名使用者

資料在dict中已經不是按照你寫的次序存放了,所以你這個問題是無解的

2樓:匿名使用者

正解,除非原先不用dict,python裡有個ordereddict 儲存插入順序

可以這樣

z = collections.ordereddict()z[ 'banji'] = 'sanban',z[ 'xuexiao'] = 'hongxing',z[ 'nianji'] = 'wunianji'

然後就是你想要的結果了

3樓:匿名使用者

做成字典以後就沒有順序可言了,內部按照自有順序排放>>> z.keys()

['xuexiao', 'banji', 'nianji']迭代的時候就是按照這個順序的。

所以需要順序的話,還是算啦

4樓:山炮小二黑

單純從資料結構上來講的話,字典的資料結構是雜湊,也就是雜湊表,它是無序的,而列表的資料結構是連結串列,是有序的,所以想把字典轉換成列表並且保持順序不變,是不可行的。

題主可以使用ordereddict(python 2.7+)有序字典,ordereddict是dict的子類,它記住了內容新增的順序。

另外如果想把字典的key轉換成列表,使用dict.keys()就可以了。

5樓:匿名使用者

0.0 字典是無序的

如何把python list裡的元素變為字典的key和value,問題見補充

6樓:巴巴吖葩琦

python不建議在迴圈中修改列表中的值。會造成索引錯亂。

把列表中的哪些元素當做key,哪些元素當做value?

7樓:花花浪客

你的做法是正確的,只是下標越界了

你的b只有3個元素,所以for j in range(0,2000000)這個迴圈到第四次,j=3的時候b[j][0]就下標越界了。

這裡有個類似的問題,可以參考看看

8樓:匿名使用者

tracb={}

for item in b:

traceb

python 如何將多個列表合成乙個字典?

9樓:gta小雞

list1 = ['1','2','3']list2 = ['a','b','c']list3 = ['a','b','c']d = {}

for i in range(0, len(list1)):

d[list1[i]]=(list2[i], list3[i]);

print(d)

python 乙個由字典構成的列表,修改其中1個字典的鍵的值,卻把該列表所有字典相同的鍵的值都一起修改了? 5

10樓:匿名使用者

因為你使用了淺複製。

修改辦法是把list=放到for語句裡面

建議,不要使用關鍵字或者內建方法作為變數(list, dict都是內建方法)

python 如何將列表轉為字典,key值相同則合併value

11樓:匿名使用者

a='齊建國 齊建國 齊二石 黃魯成 黃津孚'.split()b=[13,33,38,26,31]

d={}

for x in range(len(a)):

if a[x] in d:

d[a[x]]+=[b[x]]

else:

d[a[x]]=[b[x]]

print(d)

12樓:匿名使用者

單純從資料結構上來講的話,字典的資料結構是雜湊,也就是雜湊表,它是無序的,而列表的資料結構是連結串列,是有序的,所以想把字典轉換成列表並且保持順序不變,是不可行的。

題主可以使用ordereddict(python 2.7+)有序字典,ordereddict是dict的子類,它記住了內容新增的順序。

另外如果想把字典的key轉換成列表,使用dict.keys()就可以了。

13樓:aaa軟體教育

python是當下十分火爆的程式語言,尤其在人工智慧應用方面。如果有心從事程式設計方向的工作,最好到專業機構深入學習、多實踐,更貼近市場,這樣更有利於將來的發展。

python怎樣把2個列表合成為乙個字典?

14樓:house蝦胤

def listtodict(lista,listb):

result = dict()

if len(lista) == len(listb):

for i in range(len(lista)):

result[str(a[i])] = listb[i]return result

else:

error = "合併列表長度不一樣"

return error

a = list(input("請輸入第乙個陣列元素:"))b = list(input("請輸入第二個陣列元素:"))print (listtodict(a,b))

15樓:野人拆

def listtodict(lista, listb):

result = dict()

totallist = list(set(lista+listb))for i in totallist:

result[str(i)] = i

return result

a = [1,2,3,4,5]

b = [2,3,4,5,6]

print listtodict(a,b)

16樓:匿名使用者

我來給你解釋一下為什麼要-1,因為(len(a)-1)=5,而不是你所說的等於4,len是從1開始的,而range(len(a)-1)也就是range(5),而range()是從0開始的,所以是0,1,2,3,4,所以就能包含'e'了。

17樓:匿名使用者

這樣就可以啦......

18樓:

比如:l1=[1,2,3]

dict(map(lambda x,y:[x,y], l1,l2))py2.x中

dict(zip(l1,l2))

19樓:匿名使用者

寫反了吧,大兄弟,上邊那個是python2,下邊的是python3

在python的函式中,如何將列表list的一部分作為函式的

後面paratestlist a 2 中,括號裡面的a 2 命令是指建立了乙個包含列表a的一部分的乙個副本列表。具體做法是 def paratestlist l l 0 z a a b c d b a 2 paratestlist b print b 具體情況如下 1.python的函式定義簡單但靈...

python中如何讓list裡的數字部分相加

1 建立python檔案,testsum.py 2 編寫python 初始化list內容 dt test 2d 3s 4d qd 0s jd 3 編寫函式,進行list內容求和 def func li nums result 0 for index,s in enumerate li tp s 0 ...

請問下python中的工廠函式和內建函式他們兩個

定義不同啊。內建函式應該是不需要import就可以使用的函式。工廠不是個函式,是個類。工廠類這要從 設計模式 說起,工廠模式。但是用起來,至少在python中,工廠模式的函式或者是類,與原來的用法沒有什麼區別。只是對於程式設計師來說,擴充套件更容易些。目前就沒有感覺差別。這些 基本 內建 之類的名詞...