導航:首頁 > 編程語言 > python字典有列表怎麼弄

python字典有列表怎麼弄

發布時間:2023-05-27 11:44:44

python 列表內有字典怎麼使用

Python字典是另一種可變容器模型,且可存儲任意類型對象,如字元串、數字、元組等其他容器模型。
一、創建字典
字典由鍵和對應值成對組成。字典也被稱作關聯數組或哈希表。基本語法如下:

復制代碼代碼如下:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此創建字典:

復制代碼代碼如下:
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };

注意:
每個鍵與值用冒號隔開(:),每對用逗號,每對用逗號分割,整體放在花括弧中({})。
鍵必須獨一無二,但值則不必。
值可以取任何數據類型,但必須是不可變的,如字元串,數或元組。
二、訪問字典里的值
把相應的鍵放入熟悉的方括弧,如下實例:

復制代碼代碼如下:
#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
#以上實例輸出結果:
#dict['Name']: Zara
#dict['Age']: 7

如果用字典里沒有的鍵訪問數據,會輸出錯誤如下:

復制代碼代碼如下:
#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Alice']: ", dict['Alice'];

#以上實例輸出結果:
#dict['Zara']:
#Traceback (most recent call last):
# File "test.py", line 4, in <mole>
# print "dict['Alice']: ", dict['Alice'];
#KeyError: 'Alice'[/code]
三、修改字典
向字典添加新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下實例:

復制代碼代碼如下:
#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
#以上實例輸出結果:
#dict['Age']: 8
#dict['School']: DPS School

四、刪除字典元素
能刪單一的元素也能清空字典,清空只需一項操作。
顯示刪除一個字典用del命令,如下實例:

復制代碼代碼如下:
#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

del dict['Name']; # 刪除鍵是'Name'的條目
dict.clear(); # 清空詞典所有條目
del dict ; # 刪除詞典

print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
#但這會引發一個異常,因為用del後字典不再存在:
dict['Age']:
#Traceback (most recent call last):
# File "test.py", line 8, in <mole>
# print "dict['Age']: ", dict['Age'];
#TypeError: 'type' object is unsubscriptable

五、字典鍵的特性
字典值可以沒有限制地取任何python對象,既可以是標準的對象,也可以是用戶定義的,但鍵不行。
兩個重要的點需要記住:
1)不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,後一個值會被記住,如下實例:

復制代碼代碼如下:
#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};

print "dict['Name']: ", dict['Name'];
#以上實例輸出結果:
#dict['Name']: Manni

2)鍵必須不可變,所以可以用數,字元串或元組充當,所以用列表就不行,如下實例:

復制代碼代碼如下:
#!/usr/bin/python

dict = {['Name']: 'Zara', 'Age': 7};

print "dict['Name']: ", dict['Name'];
#以上實例輸出結果:
#Traceback (most recent call last):
# File "test.py", line 3, in <mole>
# dict = {['Name']: 'Zara', 'Age': 7};
#TypeError: list objects are unhashable

六、字典內置函數&方法
Python字典包含了以下內置函數:
1、cmp(dict1, dict2):比較兩個字典元素。
2、len(dict):計算字典元素個數,即鍵的總數。
3、str(dict):輸出字典可列印的字元串表示。
4、type(variable):返回輸入的變數類型,如果變數是字典就返回字典類型。
Python字典包含了以下內置方法:
1、radiansdict.clear():刪除字典內所有元素
2、radiansdict.():返回一個字典的淺復制
3、radiansdict.fromkeys():創建一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值
4、radiansdict.get(key, default=None):返回指定鍵的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果鍵在字典dict里返回true,否則返回false
6、radiansdict.items():以列表返回可遍歷的(鍵, 值) 元組數組
7、radiansdict.keys():以列表返回一個字典所有的鍵
8、radiansdict.setdefault(key, default=None):和get()類似, 但如果鍵不已經存在於字典中,將會添加鍵並將值設為default
9、radiansdict.update(dict2):把字典dict2的鍵/值對更新到dict里
10、radiansdict.values():以列表返回字典中的所有值

㈡ 如何在python中實現一個自定義的列表或字典

在很多的python庫之中,我們可以看到有的時候,庫作者會使用一些很特殊的「列表」或者「字典」。雖然他們看起來很像是一個列表或者字典,但是使用的方法卻又不一樣,這是因為那不是真的python中原本的列表和字典,而是作者自己創建的。那麼,我們如何可以創建我們自己的列表和字典呢?

前後都使用兩個下劃線的方法,一般被稱之為魔法方法,比如我們常見的 init ,就是一種魔法方法。一般來說,我們自行定義變數名的時候,不要定義很像是魔法方法的變數名。魔法方法被定義後,可以在適當的時候自動被調用,一般不需要手動對其進行調用。

在python中,實現一個序列,我們需要以下四種魔法方法

另外,一般來說,錯誤的鍵應當引發TypeError異常,而錯誤的索引應當引發IndexError異常

在python的列表中,只能夠使用數字作為索引,如果使用字元串的數字的話,那麼會引發異常。因此,我們可以嘗試一下,對原始的列表進行擴充,使其可以接受字元串作為列表的索引。

注意,這樣的自建列表,存在很多問題,幾乎全部的關於列表的方法都不能再被使用了。

為了解決正常列表的方法不能再被使用,我們可以考慮直接繼承list,以此得到普通列表的所有方法。

㈢ python怎樣將字典中有列表

dict = {} # 初始化一個字典
dict['list'] = [1,2,3,4,56,7,8] # 在字典里添加一個鍵為'list',值為一個列表
輸出dict:
dict={'list':[1,2,3,4,56,7,8]}

㈣ Python中如何動態往列表中添加字典

>>>keys=['a','b','c']
>>>values=[1,2,3]
>>>dictionary=dict(zip(keys,values))
>>>print(dictionary)
{'a':1,'b':2,'c':3}

㈤ python語言字典里還有列表列表是value值,遍歷出列表怎麼寫代碼

不知道你是不是這個意思,

字典調用values()方法會返回Value值所構成的列表,通過兩個循環就能遍歷字典里的列表

data={'a':[1,2,3],'b':[4,5,6]}
forlindata.values():
foriteminl:
printitem

㈥ Python如何獲取這個字典中指定列表和指定元素

定義這個字典為變數d
那麼拿到這個「klines」節點元素中列表的指定值就可以通過下標或是遍歷通過特異性關鍵字獲取。
但是從你的截圖上看,感覺d["klines"]不是一個標準的列表,裡面的各個元素之間並沒有用「,」分割
你可以通過for i in d["klines"]遍歷d["klines"]中的每個元素,然後獲取你的目標對象

㈦ 如何用python的字典和列表來實現學生成績管理

下面是一個使用 Python 的字典和列表來實現學生成績管理的簡單例子。此例子實現了所有要求,但沒有使用定義學生結構體類型和數組:


# 定義學生數據字典

students = []

# 定義輸入函數

def input_student():

while True:

student = {}

student['id'] = input('學號: ')

student['class'] = input('班級: ')

student['name'] = input('姓名: ')

student['scores'] = []

for i in range(3):

score = input('第%d門課程成績: ' % (i + 1))

student['scores'].append(score)

students.append(student)

if input('是否穗讓瞎繼續輸入(y/n): ') != 'y':

break

# 定義求平均分函數

def average_score():

for student in students:

total = 0

for score in student['scores']:

total += score

student['average'] = total / len(student['scores'])

# 定義求最高平均分函數

def max_average():

max_student = None

max_average = 0

for student in students:

if student['average'] > max_average:

max_student = student

max_average = student['average']

return max_student

# 調用輸入函數

input_student()

# 調用求平均分函數

average_score()

# 輸出每個學生的3門課程平均分

for student in students:

print('學號: %s, 班級: %s, 姓名: %s, 平均分: %.2f' % (student['id'], student['class'], student['name'], student['average']))

# 調用求最高平均分函數

max_student = max_average()

# 輸出最高平均分的學生信息

if max_student:

print(' 平均分猜空最高的學生: 學號: %s, 班級: %s, 姓名: %s, 3門課程成績: %s, 平均分: %.2f' % (max_student['id'], max_student['class'], max_student['name'], max_student['scores'], max_student['average']))


在上面的例子中,我們定義了一個學生數據字典,用於存儲學生信息。然後定義了三個函數,分別用於輸入學生信息滑爛、求每個學生3門課程的平均分和求平均分最高的學生。最後,在主函數中調用這三個函數,並輸出結果。

閱讀全文

與python字典有列表怎麼弄相關的資料

熱點內容
微信中如何打開定位伺服器 瀏覽:203
java並發編程書籍 瀏覽:280
android601源碼 瀏覽:788
程序員離職了還能幹嘛 瀏覽:156
少林功法pdf 瀏覽:471
安卓80版本小游戲怎麼玩 瀏覽:632
奇書pdf 瀏覽:836
伺服器的管理口有什麼用 瀏覽:641
澳洲加密資產新政策 瀏覽:155
哈利波特連接伺服器失敗什麼意思 瀏覽:234
提取手機上安裝的app並反編譯 瀏覽:964
人工智慧演算法書 瀏覽:604
安卓如何傳輸圖片給蘋果 瀏覽:829
可編程式控制制器原理應用網路 瀏覽:587
社畜解壓是什麼意思 瀏覽:436
吉利博越用哪個app啊 瀏覽:513
西安單片機晶振電容 瀏覽:187
分地面積的演算法 瀏覽:179
安卓手機升級包後怎麼安裝 瀏覽:262
濟南壓縮餅干哪有賣 瀏覽:524