#列表
#一组有序数据的组合就是列表!列表中的内容可以修改
#创建列表
#空列表
list = []
print(list,type(list))
#单个数据的列表
lists = ['农夫山泉']
#多个数据的列表
lists = ['who','one','pass']
#
#列表的访问
boys = ['萌帅么','默认','打算']
print(boys[2])
#列表的修改
boys[2] = '何守萌'
print(boys)
#删除列表中的数据(元素)
del boys[2]
print(boys)
#序列操作
list1 =['a','b','c','d']
list2 =['s','f','m','l']
result = list1 + list2
print(result)
#列表相乘
grils = ['a']
result = grils*5
print(result)
#分片
# 0 1 2 3 4
wawa = ['a','g','d','s','e']
#开始位置:结束位置
result=wawa[1:3]
#结束位置 从开头到结束之前
result = wawa[:4]
print(result)
#开始位置 从开始为值到结尾
result = wawa[1:]
print(result)
#开头到结尾
result = wawa[:]
print(result)
#带有步长的设置
result = wawa[1:4:2]
print(result)
#列表的遍历
#while循环
n =['a','f','g','q','r','t']
i = 0
while i < len(n):
print(n[i])
i +=1
#for 。。。 in
for i in n:
print(i)
#二级列表的遍历
#等长
gf = [
['a','b','c'],
['d','f','g'],
['q','w','e']
]
for x,y,z in gf:
print(x,y,z)
#不等长
gf = [
['a','b','c'],
['d','f'],
['q','w','e','4']
]
for x in gf:
for y in x:
print(y)
#列表相关函数
#append() 向列表的最后添加元素(直接改变原有列表)
girls = ['a','b','c']
girls.append('e')
print(girls)
#insert() 在指定的索引之前添加元素
girls = ['a','b','v']
girls.insert(1,'天剑')
print(girls)
#pop 在列表移除指定索引的元素,默认移除最后一个
girls = ['1','2','3']
girls.pop()
print(girls)
#remove() 根据值移除列表中的指定元素
girl = ['1','two','3','4']
girl.remove('1')
print(girl)
#clear() 清空列表
girl = ['a','b','c','d']
print(girl,id(girl))
girl.clear()
print(girl,id(girl))
#copy() 复制列表
girl = ['a','b','c','d']
new = girl.copy()
print(new)
#count() 计算列表指定元素出现的次数
num = ['1','a',33,'33','2']
result = num.count(33)
print(result)
#extends() 列表的继承
list1 =[1,2,3]
list2 = ['a','c']
list1.extend(list2)
print(list1)
#reverse() 列表反转
girls = ['佐野夏芽','深川玲','新庄小雪','小暮花恋']
girls.reverse()
print(girls)
#sort() 列表排序函数
nums =[12,3,4,55,66,77,887]
#升序排列
nums.sort()
print(nums)
#降序排列
nums.sort(reverse=True)
print(nums)
# 自定义排序规则(按照个位数大小排列)
def func(no):
return no % 10
nums.sort(key=func)
print(nums)
#自定义规则倒序排列
nums.sort(key=func,reverse=True)
print(nums)
#列表推导式
nums = [1,22,344,566,77]
'''
#获取列表中的所有奇数组成新列表
#声明空列表
newlists = []
for i in nums:
#判断是否奇数
if i % 2 == 1:
#保留
newlists.append(i)
#遍历完成输出列表新列表
print(newlists)
'''
#通过推导式复制列表
newlists = [a for a in nums]
print(newlists)
#带有判断条件的列表推导式
newlists = [i for i in nums if i %2 ==0]
print(newlists)
#多循环列表推导式
girls = ['菊子','家蕊','小丽']
boys = ['李斌','胡浩','贺雄']
newlists=[g+ '----'+b for g in girls for b in boys]
print(newlists)
'''
newlists = []
for g in girls:
for b in boys:
newlists.append(g +'----' +b)
'''
#多循环带有判断有判断条件的列表推导式
girls = ['菊子','家蕊','小丽']
boys = ['李斌','胡浩','贺雄']
newlists = [g + '-----'+b for g in girls for b in boys]
print(newlists)
#index() 检测一个数据在列表中的编号/索引
girls = ['菊子','家蕊','小丽']
i = girls.index('嘉瑞')
print(i)