一、列表(list)内置方法补充
# reverse()颠倒列表内元素顺序
# sort()给列表内所有元素排序,reverse用来指定是否跌倒排序,默认为False
# 列表比较大小
# l1 = [666,777]
# l2 = [111, 222, 333, 444 ,555, 666]
# print(l1 > l2) # True 列表的比较是比较索引对应位置的元素值,只要有一个比较出来,都不在往下比较
二、字典(dict)内置方法
# 1.定义:在{}内用逗号分隔开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,而key则必须是不可变类型,详见第八小节,通常key应该是str类型,因为str类型会对value有描述性的功能
info={'name':'tony','age':18,'sex':'male'} #本质info=dict({....})
# 也可以这么定义字典
info=dict(name='tony',age=18,sex='male') # info={'age': 18, 'sex': 'male', 'name': 'tony'}
# 2.类型转换
# 转换1:
>>> info=dict([['name','tony'],('age',18)])
>>> info
{'age': 18, 'name': 'tony'}
# 转换2:fromkeys会从元组中取出每个值当做key,然后与None组成key:value放到字典中
>>> {}.fromkeys(('name','age','sex'),None)
{'age': None, 'sex': None, 'name': None}
# 3.按k取值(不推荐使用)
user_dict = {
'username': 'jason',
'password': 123,
'hobby': ['read', 'music', 'run']
}
print(user_dict['username']) # jason
print(user_dict['phone']) # k不存在会直接报错
# 4..按内置方法get取值(推荐使用)
print(user_dict.get('username')) # jason
print(user_dict.get('age')) # None
# 5.修改数据值
print(id(user_dict))
user_dict['username'] = 'tony' # 键存在则修改对应的值
print(id(user_dict))
print(user_dict)
# 6.新增键值对
user_dict['age'] = 18 # 键不存在则新增键值对
print(user_dict)
# 7.删除数据
del user_dict['username']
print(user_dict)
res = user_dict.pop('password')
print(user_dict)
print(res) # 123
# 8.统计字典中键值对的个数
print(len(user_dict))
# 9.字典三剑客
print(user_dict.keys) # 一次性获取字典使用的键
dict_keys(['username', 'password', 'hobby'])
print(user_dict.values()) # 一次性获取字典所有的值
dict_values(['jason', 123, ['read', 'music', 'run']])
print(user_dict.items()) # 一次性获取字典的键值对数据
dict_items([('username', 'jason'), ('hobby', ['read', 'music', 'run'])])
for i in user_dict.items():
k,v = i
print(k,v)
# 补充说明
print(dict.fromkeys(['name', 'pwd', 'hobby'], 123)) # 快速生成值相同的字典
res = (dict.fromkeys(['name', 'pwd', 'hobby'], 123)) # 快速生成值相同的字典
res = user_dict.setdefault('username', 'tony')
print(user_dict, res) # 键存在则不修改 结果是键对应的值
res = user_dict.setdefault('age', 123)
print(user_dict, res)
# 存不存在则新增键值对 结果是新增的值
user_dict.popitem() # 弹出键值对 后进先出
三、元组(tuple)内置方法
定义:t1 = (11,22,33,44)
# 数据类型转变
# 但凡能被for循环遍历的数据类型都可以传tuple()转换成元组类型
print(tuple(123))
print(tuple(123.11))
print(tuple('hello')) # ('h', 'e', 'l', 'l', 'o')
print(tuple([11,22,33,44])) # (11,22,33,44)
print(tuple((1,2,3,4))) # (1,2,3,4)
print(tuple({'username': 'kevin', 'age': 19})) # ('username', 'age')
print(tuple({111,222,33,444})) # (33, 444,222,111)
# 取值
print(tuple1[0])
print(tuplel[3])
print(tuplel[-1])
print(tuplel[-2])
print(tuplel[-3])
# 长度
len(tuplel)
'''元组笔试题'''
t = (111)
t1 = (111.11)
t2 = ('hello')
t3 = ('hello', ) # 当元组内部哪怕是一个元素,也要加逗号隔开,否则就不是元组类型
l = ['hello',] # list
'''容器类型:可以存放多个元素的数据类型都是容器类型
推荐:如果是容器类型,内部九算有一个元素,也最后都加上一个逗号隔开
'''
print(type(t)) # <class 'int'>
print(type(t1)) # <class 'float'>
print(type(t2)) # <class 'str'>
print(type(t3)) # <class 'tuple'>
print(type(l)) # <class 'tuple'>
四、集合(set)内置方法
"""
作用:去重、关系运算
"""
定义:
s = {11,22,33,44}
s = {}
# 如何定义一个空集合
s = {11,22,33,44}
print(type(s)) # set
# 定义空集合
print(type({})) # dict
s1 = set()
print(type(s1)) # set
d = {}
d1 = dict()
l = list()
l = []
print(type(d1)) # dict
print(type(l)) # list
# 类型转换
s = set([1,2,3,4])
print(s) # {1,2,3,4}
print(set((1,2,3,4))) # {1,2,3,4}
print(set({'name': 'jason', 'age': 20})) # {'name', 'age'}
print(set('hello')) # {'e', 'o', 'l', 'h'}