今天分享的是第六章的要点和部分课后习题的参考代码。
要点:
1、字典的概念与使用.
2、字典中添加键-值对.
3、字典的修改.
4、字典中删除键-值对.
5、字典的遍历(item()返回键-值对的列表、keys()返回键的列表、values()返回值的列表).
6、字典不关心排列顺序,只关心键和值的对应关系.
7、通过sorted()实现按顺序遍历字典.
8、字典和列表的相互嵌套.
参考代码:
6-1
user = { "first_name" : "Jay", "last_name" : "Zhou", "age" : 35, "city" : "Taiwan" } for key,value in user.items(): print(key + " : " + str(value))
运行结果:
first_name : Jay last_name : Zhou age : 35 city : Taiwan [Finished in 0.0s]
6-2
favorite_number = { "Bob" : 1, "Jay" : 2, "May" : 3, "Lily" : 4, "Lucy" :5 } for key, value in favorite_number.items(): print(key + "'s favorite number is " + str(value))
运行结果
Bob's favorite number is 1 Jay's favorite number is 2 May's favorite number is 3 Lily's favorite number is 4 Lucy's favorite number is 5 [Finished in 0.0s]
6-3
dictionary = { "GCC" : "A kind of compiler for C", "binary" : "A data format using 1 and 0", "assembly language" : "A kind of low-level language", "python" : "A kind of high-level language", "Xcode" : "An IDE for OSX" } for key, value in dictionary.items(): print(key + " : " + value)
运行结果:
GCC : A kind of compiler for C binary : A data format using 1 and 0 assembly language : A kind of low-level language python : A kind of high-level language Xcode : An IDE for OSX [Finished in 0.0s]
6-4(略,在6-3已经完成)
6-5
rivers = { "Nile" : "Egypt", "Yangtse" : "China", "Ganges" : "India" } for river, country in rivers.items(): print(river + " run through " + country) for river in rivers.keys(): print(river); for country in rivers.values(): print(country)
运行结果
Nile run through Egypt Yangtse run through China Ganges run through India Nile Yangtse Ganges Egypt China India [Finished in 0.0s]
6-6
favorite_languages = { 'jen' : 'python', 'sarah' : 'c', 'edward' : 'ruby', 'phil' : 'python' } names = ['jen', 'sarah', 'jack', 'cook'] for name in favorite_languages.keys(): if name in names: print("Thank you for being interviewed.") else: print(name + ", would you like to tell us your favorite language?")
运行结果:
Thank you for being interviewed. Thank you for being interviewed. edward, would you like to tell us your favorite language? phil, would you like to tell us your favorite language? [Finished in 0.0s]
6-7
user1 = { "first_name" : "Jay", "last_name" : "Zhou", "age" : 35, "city" : "Taiwan" } user2 = { "first_name" : "Bob", "last_name" : "Black", "age" : 25, "city" : "Guangzhou" } user3 = { "first_name" : "Lucy", "last_name" : "Blair", "age" : 15, "city" : "Hangzhou" } people = [user1, user2, user3] for item in people: print('\n') for key,value in item.items(): print(key + " : " + str(value))
运行结果:
first_name : Jay last_name : Zhou age : 35 city : Taiwan first_name : Bob last_name : Black age : 25 city : Guangzhou first_name : Lucy last_name : Blair age : 15 city : Hangzhou [Finished in 0.0s]
6-8
pet1 = { "name" : "Bob", "owner" : "Lucy", "type" : "dog" } pet2 = { "name" : "Lily", "owner" : "Jack", "type" : "cat" } pet3 = { "name" : "Oliver", "owner" : "May", "type" : "pig" } pets = [pet1, pet2, pet3] for item in pets: print('\n') for key,value in item.items(): print(key + " : " + value)
运行结果:
name : Bob owner : Lucy type : dog name : Lily owner : Jack type : cat name : Oliver owner : May type : pig [Finished in 0.0s]
6-9
peoples = { "Jay" : ["Guangzhou", "Shanghai", "Beijing"], "May" : ["Nanjing", "Chengdu"], "Bob" : ["Hubei"] } for name, places in peoples.items(): print(name) print(places) print()
运行结果:
Jay ['Guangzhou', 'Shanghai', 'Beijing'] May ['Nanjing', 'Chengdu'] Bob ['Hubei'] [Finished in 0.0s]
6-10(略,类似于6-9)
6-11(略,类似于6-9,不过是字典嵌套字典)
6-12(略)