❶ python中元祖,列表,集合,字典的區別
元祖中的數據是不可修改的.但是是有順序的
列表的長度是可變的,也就是說列表中的元素可以增刪改,列表也是有序的.
字典是鍵值對的組合,是無序的,長度可變,可以增刪改查.
其中列表,字典,元組都是可以相互嵌套的.
❷ python字典列表和列表字典
最本質的區別:第一種方法得出的a是列表,而第二種的a是字典
用python語句表達來看就是:
1.type(a) == list
2.type(a) == dict
在互動式界面下顯示:
第一種:
>>> a
[{'name':'fokil'}]
此時a是一個列表,他具有列表的一切方法和屬性,但不具備任何字典的方法和屬性。列表可以有N個元素,元素的類型是任意的,與列表本身無關。而此時的a有一個元素,該元素是一個字典——但這並不代表整個列表a帶有任何字典的性質。明白?
第二種:
>>> a
{'name':['fokil']}
同上,此時a是一個字典,具有字典的一切方法和屬性,但不具備任何列表的方法和屬性。字典可以有N個元素,每個元素由一對key和內容的組合構成。key可以是任何單一對象的類型(不能是列表或字典——但可以是元組。當然,還可以是數字、字元/字元串,甚至是文件對象),而key對應的內容則可以是任意類型的。在此時,a中只有一個元素,key是一個字元串,而內容則是一個含有一個字元串元素的列表——同樣,這不意味著a具有任何的列表性質
總而言之,嚴格的講:沒有「字典列表」或「列表字典」這種概念
只有一個列表,他包含的元素的類型是字典——當然,列表中的元素可以是不同類型的,譬如:
a = [1, 'test', [2,3,4], {'name':'fokil'}]
同理,只有一個字典,他包含的元素中的一部分是列表(當然,key部分不可能是列表)。當然,也有可能是不同類型的元素:
a = {1:'b',(1,2,3):[4,5,6],'test':{'test2':['test3']}}
❸ python中如何將兩個列表組合成字典,並存放於一個新字典中
data_list = ['MC', 'YC', 'ME', 'YE']
num_list = [1000,2000,3000,4000]
c = dict(map(lambda x,y:[x,y], data_list,num_list))
print(c)
❹ python如何將列表中的元素添加進字典
字典是一種hash表,即有key,和key鍵對應下的value
比如說我要初始化一個字典
phonebook={'Alice':'3241','Beth':'9274','Ceil':'3258'}
這樣這本字典就有三對項,分別有鍵(key)和對應的值(value)組成
比如這里Alice,Beth,Ceil都是key
對應的value則分別為3241,9274,3258
key和value之間用冒號(:)隔開,項之間用逗號(,)隔開,整個字典由一對大括弧括起來。
比如你要查詢beth的電話號碼,就可以用這條語句:
print phonebook['Beth']
結果則為9274
現在對字典的基本概念熟悉了吧?!
然後回答下你這個問題。
你要把列表中的元素添加到字典中,那麼必須提供key值或value來和d中的{'a','b','c'}對應。
一樓就是其中一個解法,不過有些瑕疵,正確的應該是:
a=dict(zip(d, ['']*3))
a的值即為{'a':'', 'b':'', 'c':''}
此時列表中的元素a,b,c作為key,value的值我們暫定為空
❺ python 如何將多個列表合成一個字典
list1=['1','2','3']
list2=['a','b','c']
list3=['A','B','C']
d={}
foriinrange(0,len(list1)):
d[list1[i]]=(list2[i],list3[i]);
print(d)
❻ 用python將一個列表和一個字典匹配合並
l=[['1號機器','01'],['2號機器','02']]
dic='''{
"01":{"list":[{"ID":"a","Name":"Ua"},{"ID":"b","Name":"Ub"}]},
"02":{"list":[{"ID":"c","Name":"Uc"},{"ID":"d","Name":"Ud"}]}
}'''
dic=dic.replace(',',',')
dic=eval(dic)
result=[]
foriinl:
result.append([])
result[len(result)-1].append(i)
forkey,valueindic.items():
ifi[1]==key:
item=[]
forjinvalue['list']:
item.append([j['ID'],j['Name']])
result[len(result)-1].append(item)
print(result)
❼ 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 將多個列表合成多個字典
Name=['a','b','c']
Value=[3,6,7]
List=[{'name':t[0],'value':t[1]}fortinzip(Name,Value)]
print(List)
❾ Python中列表和字典有什麼區別,分別適用於什麼
字典生成慢,查找快。
列表生成快,查找慢。
如果是數據多,經常需要查詢,務必使用字典。
❿ python列表中字典按指定相同的鍵值對合並到一個列表中
使用集合去重 + local動態變數設置 + exec 字元串解析 可實現,話不多說,代碼在下面,格式有問題調整下空格:
list_msg = [{'date':'2019-08-17', 'type':'旅遊', 'over_im':'12365'},
{'date':'2019-08-17', 'type':'haha', 'over_im':'12365'},
{'date':'2019-08-18', 'type':'娛樂', 'over_im':'11234'},{'date':'2019-08-19', 'type':'生活', 'over_im':'9532'},]
# 去除字典重復的data ,獲取數據包含多少天內容
set_mark = {i['date'] for i in list_msg}
# 去除非法命名字元作為列表後綴:
ver_name = [i.replace('-','_') for i in set_mark]
# 給列表排序,確保按照順序輸出變數
ver_name.sort()
# 設置動態命名模板
list_name_template = 'list_data_'
# 創建local對象,准備創建動態變數
createver = locals()
# 循環遍歷數據並創建動態列表變數接收
for mark in set_mark:
# 動態創建變數
createver[list_name_template + mark.replace('-','_')] \
= [dict_current for dict_current in list_msg if dict_current['date'] == mark]
for name in ver_name:
print(list_name_template + name + ':' ,end='\t') # 列印自動創建的變數名稱,採用tab分隔
exec('print('+list_name_template + name +')') # 列印變數內容(列表)
'''
列印結果
list_data_2019_08_17: [{'date': '2019-08-17', 'type': '旅遊', 'over_im': '12365'}, {'date': '2019-08-17', 'type': 'haha', 'over_im': '12365'}]
list_data_2019_08_18: [{'date': '2019-08-18', 'type': '娛樂', 'over_im': '11234'}]
list_data_2019_08_19: [{'date': '2019-08-19', 'type': '生活', 'over_im': '9532'}]
'''