區別一下 列表、元組、字典的形式
列表: 列表名 = [ ] # 注意列表用中括號
元組: 元組名 = ( ) # 注意元組用小括號
字典: 字典名 = { } #注意字典用花括號
一、使用字典
1、字典用 花括號 括起來,並且使用“鍵-值”的形式
alien_0 = {'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
結果:
green
5
2、添加 鍵-值 對
字典是一種動態的結構,可以隨時添加 鍵-值 對,添加方式是,直接對字典定義 鍵及對應的值
alien_0 = {'color':'green','points':5}
print(alien_0)
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
結果:
{'points': 5, 'color': 'green'}
{'points': 5, 'color': 'green', 'y_position': 25, 'x_position': 0}
可以發現,定義的順序和在字典中存儲的順序是不一樣的,因爲字典只在意的是 鍵與值之間的對應關係。
3、修改字典中的值
直接修改對應鍵的值即可
4、刪除 鍵-值 對 del語句
alien_0 = {'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)
結果:
{'points': 5, 'color': 'green'}
{'color': 'green'}
二、遍歷字典
1、遍歷所有的 鍵-值 對 .items() 語句
使用 .items() 返回的是一個由 鍵-值 組成的列表。注意,在遍歷所有的 鍵-值 的時候,用於 for 的變量名最好是代表着字典中元素的意義的,如下:
1、 例1
user_0 = {
'username':'efermi',
'frist':'enrico',
'last':'fermi'}
for key, value in user_0.items():
print('\nKey:' + key)
print('Value:' + value)
結果:
Key:frist
Value:enrico
Key:username
Value:efermi
Key:last
Value:fermi
2、 例2
favorite_languages={
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
'chen':'c++'}
for name, language in favorite_languages.items():
print(name.title() + "'s favorite language is " +
language + '.')
結果:
Chen's favorite language is c++.
Phil's favorite language is python.
Jen's favorite language is python.
Edward's favorite language is ruby.
Sarah's favorite language is c.
由於例2中的字典表示的是 每個人所喜歡的編程語言,所以鍵 可以表示爲name,值可以用 language 表示。
2、遍歷所有的 鍵 .keys()
favorite_languages={
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
'chen':'c++'}
for name in favorite_languages.keys():
print(name.title())
結果:
Chen
Phil
Jen
Edward
Sarah
3、遍歷所有的 值 .values()
favorite_languages={
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
'chen':'c++'}
for language in favorite_languages.values():
print(language.title())
結果:
C++
Python
Python
Ruby
C
可以發現,如果是直接將 值取出來的話,可能有很多的重複內容,因爲鍵一般情況下不會有重複,但是值會有,如果我們想剔除值中重複的項,可以使用 set() 語句來實現:
favorite_languages={
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
'chen':'c++'}
for language in set(favorite_languages.values()):
print(language.title())
結果:
C
Ruby
Python
C++
注意:for language in set(favorite_languages.values())
set 加在 字典.values() 前面
三、嵌套
嵌套分爲三種: 字典列表(列表中的元素是字典),列表字典(字典中鍵的值是列表),字典嵌套(字典中鍵的值是字典)
1、字典列表
alien_0 = {'color':'green','points':5}
alien_1 = {'color':'yellow','points':10}
alien_2 = {'color':'red','points':15}
aliens = [alien_0,alien_1,alien_2]
for alien in aliens:
print(alien)
結果:
{'points': 5, 'color': 'green'}
{'points': 10, 'color': 'yellow'}
{'points': 15, 'color': 'red'}
2、列表字典
favorite_languages={
'jen':['python','c'],
'sarah':['c','c++'],
'edward':['ruby','matlab'],
'phil':['python','c#']}
for name, languages in favorite_languages.items():
print(name.title() + "'s favorite language are:")
for language in languages:
print('\t' + language.title())
結果:
Phil's favorite language are:
Python
C#
Jen's favorite language are:
Python
C
Edward's favorite language are:
Ruby
Matlab
Sarah's favorite language are:
C
C++
3、字典嵌套
users = {
'aeinstein':{
'frist':'albert',
'last':'einstein',
'location':'china',
},
'mcurie':{
'frist':'marie',
'last':'curie',
'location':'paris',
},
}
for use_name,user_info in users.items():
print('\n Username:' + use_name.title())
full_name = user_info['frist'] + ' ' + user_info['last']
location = user_info['location']
print('\t Full name:' + full_name.title())
print('\t Location:' + location.title())
結果:
Username:Mcurie
Full name:Marie Curie
Location:Paris
Username:Aeinstein
Full name:Albert Einstein
Location:China