一、列表(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'}
02-21 15:31