Python编程:从入门到实践------第6章:字典

一、字典的基本概念

下面是一个简单的字典:

alien_0={'color':'green','points':5}

print(alien_0['color'])
print(alien_0['points'])

输出如下:

green
5

二、字典的使用

1.访问字典中的值

可参考一中的示例代码

2.添加键-值对

字典是一种动态结构,可随时在其中添加键-值对。可依次指定字典名、用方括号括起的键和相关联的值。

以下代码将在一中的代码添加x与y座标。

alien_0={'color':'green','points':5}

 
     
 
  
  print(alien_0['color'])
print(alien_0['points'])

alien_0['x_position']=0
alien_0['y_position']=25

print(alien_0)

则添加成功,输出如下:

green
5
{'color': 'green', 'points': 5, 'x_position': 0, 'y_position': 25}

3.删改字典的值

修改可通过直接赋值,删除可通过del

动手试一试6-1-6-3(相同类型在此只列出6-1)

#6-1

people={'first_name':'xiaoming','last_name':'wang','age':20,'city':'Beijing'}
print(people)

输出如下:

{'first_name': 'xiaoming', 'last_name': 'wang', 'age': 20, 'city': 'Beijing'}

三、遍历字典

1.遍历所有键-对

参考以下代码:

people={'first_name':'xiaoming','last_name':'wang','age':'20','city':'Beijing'}
for key,value in people.items():
    print("\nKey:"+key)
    print("Value:"+value)

输出如下:


Key:first_name
Value:xiaoming

Key:last_name
Value:wang

Key:age
Value:20

Key:city
Value:Beijing

2.遍历所有键——方法keys()

参考如下代码:

people={'first_name':'xiaoming','last_name':'wang','age':'20','city':'Beijing'}
for key in people.keys():
    print(key)

输出:

first_name
last_name
age
city

3.遍历所有值——方法values()

参考如下代码:

people={'first_name':'xiaoming','last_name':'wang','age':'20','city':'Beijing'}
for value in people.values():
    print(value)

输出如下:

xiaoming
wang
20
Beijing

4.按顺序遍历——函数sorted()

参考如下代码:

people={'first_name':'d','last_name':'a','age':'c','city':'f'}
for value in sorted(people.values()):
    print(value)

输出如下:

a
c
d
f

动手试一试6-4 - 6-6

#6-4

#略

#6-5

messages={'Nile':'Egypt','Changjiang':'China','Amazon':'Brazil'}
for river,country in messages.items():
    print("The "+river+" runs through "+country)
for river in messages.keys():
    print(river)
for country in messages.values():
    print(country)

#6-6

favourite_language={'jen':'python',
                    'sarah':'c',
                    'edward':'ruby',
                    'phil':'python',
                    }
names=['jen','sarah','liming']
for name in names:
    if name in favourite_language.keys():
        print("Thank you,"+name.title())
    else:
        print(name.title()+",would you want to participate in an invistigation?")

输出如下:

The Nile runs through Egypt
The Changjiang runs through China
The Amazon runs through Brazil
Nile
Changjiang
Amazon
Egypt
China
Brazil
Thank you,Jen
Thank you,Sarah
Liming,would you want to participate in an invistigation?

四、嵌套

将字典存储在列表中,或将列表作为值存储在字典中称为嵌套。

  1. 字典列表
  2. 列表字典
  3. 字典中存储字典

动手试一试6-7 - 6-11

#6-7

person_1={'first_name':'xiaoming','last_name':'wang','age':20,'city':'Beijing'}
person_2={'first_name':'xiaohua','last_name':'zhang','age':21,'city':'Shanghai'}
person_3={'first_name':'xiaolong','last_name':'li','age':24,'city':'Shenzhen'}
people=[person_1,person_2,person_3]
for person in people:
    print(person)


#6-8

milk={'type':'cat','master':'John'}
cake={'type':'dog','master':'Jenny'}
cookie={'type':'fish','master':'Tom'}
pets=[milk,cake,cookie]
for pet in pets:
    print(pet)


#6-9

favourit_places={'John':['Beijing''Shanghai'],'Jenny':['Shenzhen','Guangzhou'],'Tom':['Tianjin','Pairs']}
for name,places in favourit_places.items():
    print('\n'+name+"'s favourite places are:")
    for place in places:
        print(place)

#6-10

#同6-9 略

#6-11
print("\n")
cities={
    'Beijing':{
        'country':'China',
        'population':'21540000',
        'fact':'capital city',
    },

    'Pairs':{
        'country':'Franch',
        'population':'2240000',
        'fact':'capital city',
    },

    'New York':{
        'country':'America',
        'population':'8510000',
        'fact':'Big Apple'
    },
}
for city,message in cities.items():
    print('\n'+city+':')
    for message_1,message_2 in message.items():
        print('\t'+message_1+":"+message_2)

输出如下:

{'first_name': 'xiaoming', 'last_name': 'wang', 'age': 20, 'city': 'Beijing'}
{'first_name': 'xiaohua', 'last_name': 'zhang', 'age': 21, 'city': 'Shanghai'}
{'first_name': 'xiaolong', 'last_name': 'li', 'age': 24, 'city': 'Shenzhen'}
{'type': 'cat', 'master': 'John'}
{'type': 'dog', 'master': 'Jenny'}
{'type': 'fish', 'master': 'Tom'}

John's favourite places are:
BeijingShanghai

Jenny's favourite places are:
Shenzhen
Guangzhou

Tom's favourite places are:
Tianjin
Pairs



Beijing:
	country:China
	population:21540000
	fact:capital city

Pairs:
	country:Franch
	population:2240000
	fact:capital city

New York:
	country:America
	population:8510000
	fact:Big Apple
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章