一、字典简介
1. 字典由键值对组成,每个键与值用冒号隔开,每对用逗号分割,整体放在花括号中,如 {"name": "Tom", "age": 18}
In [1]: dict1 = {"name": "Jeny", "age": 18, "gender": "woman"} # 定义一个字典 In [2]: dict1["name"] # 访问字典里的值 Out[2]: 'Jeny' In [3]: dict1["name"] = "Kimi" # 修改字典里的值
二、字典的方法
In [1]: dict1 = {"name": "Jeny", "age": 18, "gender": "woman"} In [2]: dict1.keys() # keys()用于查看字典中的所有key Out[2]: ['gender', 'age', 'name'] In [3]: dict1.values() # values()用于查看字典中的所有value Out[3]: ['woman', 18, 'Jeny'] In [4]: dict1.items() # items()用于返回一个列表,这个列表的元素是由字典的键值对组成的元组 Out[4]: [('gender', 'woman'), ('age', 18), ('name', 'Jeny')] In [5]: dict1.get("name") # get()用于获取指定key的value值,如果没有这个key,则会返回None Out[5]: 'Jeny' # 我们也可以通过dict1["name"]这种方法来获取指定key的value值,但如果没有这个key就会报错,所以get()方法相对好一些 # get()另一种用法为:dict1.get("name", "Tom") 表示如果没有"name"这个key,就返回"Tom"这个value,而不是返回None In [6]: dict1.has_key("name") # has_key()用于判断字典中是否有指定的key Out[6]: True In [7]: dict1.copy() # copy()用于拷贝一个字典,通常我们会用变量来接收 Out[7]: {'age': 18, 'gender': 'woman', 'name': 'Jeny'} In [9]: dict1.clear() # clear()用于清除字典中的所有键值对 In [11]: dict1.pop("age") # pop()用于删除并返回指定key所对应的value Out[11]: 18 In [12]: dict1.update(dict2) # update()用于把字典dict2的键/值对更新到dict1里,相当于追加字典 In [13]: dict1.iteritems() # iteritems()用法与items()一致,只是iteritems()返回的是一个迭代器,只有被调用的时候才会加载进来,类似range()与xrange()的区别
练习题:
写一个脚本,接收用户输入,然后把输入存到字典里
[root@localhost ~]$ cat 1.py #!/usr/bin/env python info = {} name = raw_input("Please input your name: ") age = raw_input("Please input your age: ") gender = raw_input("Please input your gender: ") info['name'] = name info['age'] = age info['gender'] = gender for k, v in info.items(): print("%s: %s" % (k, v))
[root@localhost ~]$ python 1.py Please input your name: tom Please input your age: 20 Please input your gender: M gender: M age: 20 name: tom