Python学习笔记hello_python_world6

本文记录是自己这个小菜鸡Python学习笔记
《Python编程从入门到实践》第六章

#第6章 字典



#6.1 一个简单的字典
alien_0 = {'color': 'green', 'points': 5} 
print (alien_0['color']) 
print (alien_0['points']) 

'''
green 
5 
'''



#6.2 使用字典
'''
alien_0 = {'color': 'green', 'points': 5} 
alien_0 = {'color': 'green'} 
'''

#访问字典中的值
alien_0 = {'color': 'green'} 
print(alien_0['color']) 

'''
green 
'''

alien_0 = {'color': 'green', 'points': 5} 
new_points = alien_0['points'] 
print("You just earned " + str(new_points) + " points!") 

'''
You just earned 5 points! 
'''

#添加键—值对
alien_0 = {'color': 'green', 'points': 5} 
print(alien_0) 
alien_0['x_position'] = 0 
alien_0['y_position'] = 25 
print(alien_0)

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

#先创建一个空字典
alien_0 = {} 
alien_0['color'] = 'green' 
alien_0['points'] = 5
print(alien_0)

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

#修改字典中的值
alien_0 = {'color': 'green'} 
print("The alien is " + alien_0['color'] + ".") 
alien_0['color'] = 'yellow' 
print("The alien is now " + alien_0['color'] + ".") 

'''
The alien is green. 
The alien is now yellow. 
'''

alien_0 = {'x_position': 0, 'y_position': 25, 'speed': 'medium'} 
print("Original x-position: " + str(alien_0['x_position'])) 
# 向右移动外星人
# 据外星人当前速度决定将其移动多远
if alien_0['speed'] == 'slow': 
	x_increment = 1 
elif alien_0['speed'] == 'medium': 
	x_increment = 2 
else: 
	# 这个外星人的速度一定很快
	x_increment = 3 
	# 新位置等于老位置加上增量
alien_0['x_position'] = alien_0['x_position'] + x_increment 
print("New x-position: " + str(alien_0['x_position'])) 

'''
Original x-position: 0 
New x-position: 2 
'''

#删除键—值对
alien_0 = {'color': 'green', 'points': 5} 
print(alien_0) 
del alien_0['points'] 
print(alien_0) 

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

#由类似对象组成的字典
favorite_languages = { 
	'jen': 'python', 
	'sarah': 'c', 
	'edward': 'ruby', 
	'phil': 'python', 
	} 

print("Sarah's favorite language is " + favorite_languages['sarah'].title() + ".") 

'''
Sarah's favorite language is C.
'''

#6.3 遍历字典

#遍历所有的键—值对
#for语句的第二部分包含字典名和方法items(),它返回一个键—值对列表
user_0 = { 
	'username': 'efermi', 
	'first': 'enrico', 
	'last': 'fermi', 
	}

for key, value in user_0.items(): 
	print("\nKey: " + key) 
	print("Value: " + value)

'''
Key: username 
Value: efermi 
Key: first 
Value: enrico 
Key: last 
Value: fermi 
'''

favorite_languages = { 
 'jen': 'python', 
 'sarah': 'c', 
 'edward': 'ruby', 
 'phil': 'python', 
 } 

for name, language in favorite_languages.items(): 
	print(name.title() + "'s favorite language is " + language.title() + ".") 

'''
Jen's favorite language is Python. 
Sarah's favorite language is C. 
Edward's favorite language is Ruby.
Phil's favorite language is Python. 
'''

#遍历字典中的所有键
#方法.keys()
favorite_languages = { 
 'jen': 'python', 
 'sarah': 'c', 
 'edward': 'ruby', 
 'phil': 'python', 
 }
 
for name in favorite_languages.keys(): 
	print(name.title()) 

'''
Jen 
Sarah 
Edward
Phil 
'''

favorite_languages = { 
 'jen': 'python', 
 'sarah': 'c', 
 'edward': 'ruby', 
 'phil': 'python', 
 } 

friends = ['phil', 'sarah'] 
for name in favorite_languages.keys(): 
	print(name.title()) 
 
	if name in friends: 
		print(" Hi " + name.title() + ", I see your favorite language is " + favorite_languages[name].title() + "!") 

'''
Jen 
Sarah 
 Hi Sarah, I see your favorite language is C! 
Edward 
Phil 
 Hi Phil, I see your favorite language is Python! 
'''

favorite_languages = { 
 'jen': 'python', 
 'sarah': 'c', 
 'edward': 'ruby', 
 'phil': 'python', 
 } 
if 'erin' not in favorite_languages.keys(): 
	print("Erin, please take our poll!")

'''
Erin, please take our poll! 
'''

#按顺序遍历字典中的所有键
#可使用函数sorted()来获得按特定顺序排列的键列表的副本
favorite_languages = { 
 'jen': 'python', 
 'sarah': 'c', 
 'edward': 'ruby', 
 'phil': 'python', 
 } 
for name in sorted(favorite_languages.keys()): 
	print(name.title() + ", thank you for taking the poll.") 

'''
Edward, thank you for taking the poll. 
Jen, thank you for taking the poll. 
Phil, thank you for taking the poll. 
Sarah, thank you for taking the poll. 
'''

#遍历字典中的所有值
#可使用方法.values()
favorite_languages = { 
	'jen': 'python', 
	'sarah': 'c', 
	'edward': 'ruby', 
	'phil': 'python',
	} 
print("The following languages have been mentioned:") 
for language in favorite_languages.values(): 
	print(language.title()) 

'''
The following languages have been mentioned: 
Python 
C 
Ruby
Python  
'''

#为剔除重复项,可使用集合set()
favorite_languages = { 
	'jen': 'python', 
	'sarah': 'c', 
	'edward': 'ruby', 
	'phil': 'python', 
	} 
print("The following languages have been mentioned:") 
for language in set(favorite_languages.values()): 
	print(language.title()) 

'''
The following languages have been mentioned: 
Ruby
C 
Python 
'''

#6.4 嵌套

#字典列表
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) 

'''
{'color': 'green', 'points': 5} 
{'color': 'yellow', 'points': 10} 
{'color': 'red', 'points': 15} 
'''

# 创建一个用于存储外星人的空列表
aliens = [] 
# 创建30个绿色的外星人
for alien_number in range(30): 
	new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'} 
	aliens.append(new_alien) 
 
# 显示前五个外星人
for alien in aliens[:5]: 
	print(alien) 
print("...") 
# 显示创建了多少个外星人
print("Total number of aliens: " + str(len(aliens))) 

'''
{'color': 'green', 'points': 5, 'speed': 'slow'}
{'color': 'green', 'points': 5, 'speed': 'slow'}
{'color': 'green', 'points': 5, 'speed': 'slow'}
{'color': 'green', 'points': 5, 'speed': 'slow'}
{'color': 'green', 'points': 5, 'speed': 'slow'}
...
Total number of aliens: 30
'''

# 创建一个用于存储外星人的空列表
aliens = [] 
# 创建30个绿色的外星人
for alien_number in range(30): 
	new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'} 
	aliens.append(new_alien) 

for alien in aliens[0:3]: 
	if alien['color'] == 'green': 
		alien['color'] = 'yellow' 
		alien['speed'] = 'medium' 
		alien['points'] = 10 
 
# 显示前五个外星人
for alien in aliens[:5]: 
	print(alien) 
print("...") 
# 显示创建了多少个外星人
print("Total number of aliens: " + str(len(aliens))) 

'''
{'color': 'yellow', 'points': 5, 'speed': 'slow'}
{'color': 'yellow', 'points': 5, 'speed': 'slow'}
{'color': 'yellow', 'points': 5, 'speed': 'slow'}
{'color': 'green', 'points': 5, 'speed': 'slow'}
{'color': 'green', 'points': 5, 'speed': 'slow'}
...
Total number of aliens: 30
'''

# 创建一个用于存储外星人的空列表
aliens = [] 
# 创建30个绿色的外星人
for alien_number in range(30): 
	new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'} 
	aliens.append(new_alien) 

for alien in aliens[0:3]: 
	if alien['color'] == 'green': 
		alien['color'] = 'yellow' 
		alien['speed'] = 'medium' 
		alien['points'] = 10 
	elif alien['color'] == 'yellow': 
		alien['color'] = 'red' 
		alien['speed'] = 'fast' 
		alien['points'] = 15 
 
# 显示前五个外星人
for alien in aliens[:5]: 
	print(alien) 
print("...") 
# 显示创建了多少个外星人
print("Total number of aliens: " + str(len(aliens))) 

'''
{'color': 'yellow', 'points': 5, 'speed': 'slow'}
{'color': 'yellow', 'points': 5, 'speed': 'slow'}
{'color': 'yellow', 'points': 5, 'speed': 'slow'}
{'color': 'green', 'points': 5, 'speed': 'slow'}
{'color': 'green', 'points': 5, 'speed': 'slow'}
...
Total number of aliens: 30
'''

#在字典中存储列表
# 存储所点比萨的信息
pizza = { 
	'crust': 'thick', 
	'toppings': ['mushrooms', 'extra cheese'], 
	} 
# 概述所点的比萨
print("You ordered a " + pizza['crust'] + "-crust pizza " + 
	"with the following toppings:") 
for topping in pizza['toppings']: 
	print("\t" + topping) 

'''
You ordered a thick-crust pizza with the following toppings: 
 mushrooms 
 extra cheese
'''

favorite_languages = { 
	'jen': ['python', 'ruby'], 
	'sarah': ['c'], 
	'edward': ['ruby', 'go'], 
	'phil': ['python', 'haskell'], 
	} 
for name, languages in favorite_languages.items(): 
	print("\n" + name.title() + "'s favorite languages are:") 
	for language in languages: 
		print("\t" + language.title()) 

'''
Jen's favorite languages are: 
 Python 
 Ruby 
Sarah's favorite languages are: 
 C 
Phil's favorite languages are: 
 Python 
 Haskell 
Edward's favorite languages are: 
 Ruby 
 Go 
'''

#在字典中存储字典
users = { 
	'aeinstein': { 
		'first': 'albert', 
		'last': 'einstein', 
		'location': 'princeton', 
		}, 
	
	'mcurie': { 
		'first': 'marie', 
		'last': 'curie', 
		'location': 'paris', 
		}, 
	
	}
	 
for username, user_info in users.items(): 
	print("\nUsername: " + username) 
	full_name = user_info['first'] + " " + user_info['last'] 
	location = user_info['location'] 
	print("\tFull name: " + full_name.title()) 
	print("\tLocation: " + location.title()) 

'''
Username: aeinstein 
 Full name: Albert Einstein 
 Location: Princeton 
 
Username: mcurie 
 Full name: Marie Curie 
 Location: Paris
'''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值