上节课内容:
1.字符串(定义、截取、转义)
2.列表(定义、截取、增删改查)
今天内容:
1.字典
2.元祖
Python3 字典
d = {key1 : value1, key2 : value2 }
创建字典
"""
案例1:定义一个字典
d = {key1 : value1, key2 : value2 }
字典是一个一个键值对的形式
定义字典的方式:1.dict = {};2.dict()
建议可以直接使用第一种方式,简单方便
"""
dict1 = {
'name': '小黑',
# 'name': '旺财',
'type': '狗',
'age': 3,
}
dict2 = dict({
'name': '小黑',
'type': '狗',
'age': 3,
})
# print(dict1)
# print(dict2)
访问字典里的值(查)
"""
案例2:访问字典的值
根据键来找对应的值,所以键一定不能重复,并且键不可更改的
py2不允许键重复,py3允许不报异常,但是不推荐
"""
print(dict1['name'])
print(dict1)
dict3 = {
# [1, 2, 3]: 3,
'name': '小黑',
# 'name': '旺财',
'type': '狗',
'age': 3,
{}: '',
}
print(dict3)
修改字典(改)
"""
案例3:修改字典
修改字典里面对应键的值
"""
dict4 = {
'name': '小黑',
'type': '狗',
'age': 3,
}
print(dict4)
dict4['name'] = '旺财'
print(dict4)
删除字典元素(删)
"""
案例3:删除字典元素
"""
dict5 = {
'name': '小黑',
'type': '狗',
'age': 3,
}
print(dict5)
del dict5['name']
print(dict5)
增加字典元素(增)
"""
案例5:增加字典元素
"""
dict6 = {
'name': '小黑',
'type': '狗',
'age': 3,
# 'color': '黑色',
}
print(dict6)
# dict6['color'] = '黑色'
dict6.update({'color': '黑色', })
print(dict6)
字典内置函数&方法
序号 | 函数及描述 |
---|---|
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() 返回一个迭代器,可以使用 list() 来转换为列表 |
8 | radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里 |
10 | radiansdict.values() 返回一个迭代器,可以使用 list() 来转换为列表 |
11 | pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
12 | popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。 |
"""
案例6:字典的各种函数演示
删除字典内所有元素
返回一个字典的浅拷贝:
浅拷贝:copy()针对容器类对象,直接复制对象数据(可以理解为和原来数据一样)你变我也变
深拷贝:copy.deepcopy(dict7)针对容器类对象,新建对象(数据属于自己的不再改变)你变我不变
返回一个迭代器,可以使用 list() 来转换为列表dict7.keys()
返回一个迭代器,可以使用 list() 来转换为列表dict7.values()
"""
dict7 = {
'name': '小黑',
'type': '狗',
'age': 3,
'color': '黑色',
'list_girl_friends': ['小黄', '小妮', '小红', ]
}
# print(dict7)
# dict7.clear()
# print(dict7)
dict_8 = dict7.copy() # 浅拷贝
dict_9 = copy.deepcopy(dict7) # 深拷贝
dict7['list_girl_friends'].remove('小黄')
dict7['list_girl_friends'].remove('小妮')
dict7.popitem()
print(dict7.keys())
print(dict7.values())
# print(dict7)
# print(dict_8)
# print(dict_9)
Python 元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
创建元祖
增加元素
访问元组
修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
"""
案例7:
创建元祖
访问元祖
"""
tuple1 = (1, 23, 4)
# tuple2 = tuple((1, 23, 4))
print(tuple1)
# print(tuple2)
print(tuple1[-1])
元组内置函数
Python元组包含了以下内置函数
1 cmp(tuple1, tuple2)
比较两个元组元素。
2 len(tuple)
计算元组元素个数。
3 max(tuple)
返回元组中元素最大值。
4 min(tuple)
返回元组中元素最小值。
5 tuple(seq)
将列表转换为元组。
"""
案例8:
元祖内置函数
1 cmp(tuple1, tuple2)py2支持,py3不支持
比较两个元组元素。
"""
list1 = [1, 2, 3, 4]
tuple1 = (1, 23, 4)
tuple2 = (1, 45, 4)
tuple3 = list1
print(type(tuple3))
tuple3 = tuple(list1)
print(type(tuple3))
# print(len(tuple1))
# print(max(tuple1))
# print(min(tuple1))