Python学习笔记06

Python3 字典

d = {key1 : value1, key2 : value2 }    值可以取任何数据类型,但键必须是不可变的
# 字典
dir = {'name': 'hourui', 'age': 23, 'sex': 'female'}

# 访问字典里的值
print('姓名:', dir['name'])

# 修改字典
dir['age'] = 18
dir['state'] = 'student'
print(dir)

# 删除字典元素
del(dir['sex'])
print(dir)
输出结果:
姓名: hourui
{'name': 'hourui', 'age': 18, 'sex': 'female', 'state': 'student'}
{'name': 'hourui', 'age': 18, 'state': 'student'}

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住;

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

字典内置函数&方法

Python字典包含了以下内置函数:

序号 函数及描述 实例
1 len(dict)
计算字典元素个数,即键的总数。
>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> len(dict)
3
2 str(dict)
输出字典,以可打印的字符串表示。
>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> str(dict)
"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
3 type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> type(dict)
<class 'dict'>

Python字典包含了以下内置方法:

序号 函数及描述
1 radiansdict.clear()
删除字典内所有元素
2 radiansdict.copy()
返回一个字典的浅复制
3 radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5 key in dict
如果键在字典dict里返回true,否则返回false
6 radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
7 radiansdict.keys()
以列表返回一个字典所有的键
8 radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
10 radiansdict.values()
以列表返回字典中的所有值
11 pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。否则,返回default值。
12 popitem()
随机返回并删除字典中的一对键和值(一般删除末尾对)。

字典的嵌套

# 字典的嵌套
countries = {
                'China': {
                    'Province': ['北京', '上海', '山东', '浙江', '湖北'],
                    'Cities': ['北京', '上海', '济南', '青岛', '杭州', '武汉']
                },
                'America': {
                    'Province': ['aaa', 'bbb', 'ccc', 'ddd', 'eee'],
                    'Cities': ['fff', 'ggg', 'hhh', 'iii', 'jjj', 'kkk']
                },
                'Africa': {
                    'Province': ['lll', 'mmm', 'nnn', 'ooo', 'ppp'],
                    'Cities': ['qqq', 'rrr', 'sss', 'ttt', 'uuu', 'vvv']
                }
}

for i in countries['China']:
    print(i)

for j in countries['China']['Cities']:
    print(j)

输出结果:

Province
Cities
北京
上海
济南
青岛
杭州
武汉


猜你喜欢

转载自blog.csdn.net/weixin_42385291/article/details/80586884