list列表
###############################################################
#列表 可变 可重复 有序 []
#元组 不可变 可重复 有序 ()-----------只有一个数据要加上逗号
#字典 可变 可重复 无序 {key:value}
#集合 可变 不可重复 无序 {}
###############################################################
#创建
l = []
l1 = list()
print(l,type(l))
print(l1,type(l1))
#索引
DDD = [123,456,789,10] #定义一个列表赋值给aaa
print(DDD[0]) #输出索引0,123
print(DDD[1]) #输出索引1,456
print(DDD[-1]) #输出索引-1,10
print(str(DDD[-2])*3) #转为字符串输出索引-2,789,3遍
print(123 in DDD) #判断元素是否是序列成员
print(123 not in DDD) #判断元素是否不是序列成员
print('元素长度',len(DDD)) #len 计算有几个元素
print('元素最小',min(DDD)) #len 计算有几个元素
print('元素最大',max(DDD)) #len 计算有几个元素
del DDD #删除aaa序列
#列表删除元素
lst = [0,1,2,3,4,5,6,7,8,9,0]
print('原元素',lst)
lst.remove(0) #指定元素删除,默认删除第一次出现的元素
print('#指定元素删除,默认删除第一次出现的元素',lst)
lst.pop() #索引删除默认最后一个索引
print('索引删除默认最后一个索引',lst)
lst.pop(2) #指定索引删除2
print('指定索引删除2',lst)
del lst[0:4:2]
print('del删除法',lst)
lst[0:3] = [] #切片删除0:3,赋值空元素方法
print('切片删除0:3,赋值空元素方法',lst)
lst.clear() #清空元素
print('清空元素',lst)
del lst #删除列表对象
print('删除列表对象','lst') #打印不存在的列表会报错
#列表添加元素
lst2 = [00,10,20,30] #定义一个列表
lst3 = [40,50] #定义一个元素
print('原数据',lst2,id(lst2)) #原元素
lst2.append(100) #追加元素,默认最后一个
print('.append(100)追加后',lst2,id(lst2))
lst2.append(lst3) #追加一个列表
print('.append追加一个列表',lst2,id(lst2))
lst2.insert(1,15) #追加一个元素到指定索引
print('.insert(1,15)追加一个元素到指定索引',lst2,id(lst2))
lst2.extend(lst3) #追加一个列表成一个列表
print('.extend(lst3)追加一个列表成一个列表',lst2,id(lst2))
#列表统计
list10 = [55,22,66,55,77,55,88,11,44]#定义一个列表
list11 = list10.count(55) #统计55出现的次数,赋值给变量
print('统计55出现的次数,赋值给变量:',list11)
list12 = list10.index(22) #获取22首次出现的索引位置,赋值给变量
print('获取22首次出现的索引位置,赋值给变量:',list12)
list13 = sum(list10) #sum函数,统计列表的和
print('sum函数,统计列表的和',list13)
#列表排序
list14 = [55,44,33,66,77,99,88] #sort方法定义一个无序列表
print('原列表:',list14)
list14.sort() #升序默认为Flase
print('升序:',list14)
list14.sort(reverse=True) #降序
print('降序:',list14)
list15 = ['e','D','C','A','F','a','b','d','z','Z']#定义一个无序列表
print('原列表:',list15)
list15.sort() #默认区分大小写
print('默认区分大小写:',list15)
list15.sort(key=str.lower) #不区分大小写lower和upper,
print('不区分大小写:',list15)
list16 = [55,44,33,66,77,99,88] #sorted内置函数,定义一个无序列表
list17 = sorted(list16) #升序
print('升序:',list17)
list17 = sorted(list16,reverse=True)#降序
print('降序:',list17)
#列表推导式
import random #导入random标准库
aaa = [random.randint(10,100) for i in range(10)]#10到100随机数,生成10个
print('生成的随机数为:',aaa)
bbb = [500,1000,100,5000,2000,6000,4000] #定义一个列表
ccc = [int(x*0.5) for x in bbb] #数字类型的,bbb遍历后赋值给x,然后再用x乘以0.5
print('打五折:',ccc)
eee = [500,1000,100,5000,2000,6000,4000,8000,6600] #定义一个列表
fff = [x for x in eee if x>5000] #遍历eee判断大于5000的,赋值给x
print('原价格:',eee)
print('高于5000的:',fff)
#二位列表
str1 = '千山鸟飞绝'
str2 = '万径人踪灭'
str3 = '孤舟蓑笠翁'
str4 = '独钓寒江雪'
verse = [list(str1),list(str2),list(str3),list(str4)]
print('----横版----\n')
for i in range(4):
for j in range(5):
if j == 4:
print(verse[i][j])
else:
print(verse[i][j],end=' ')
print('----竖版----\n')
verse.reverse() #反转
print(verse)
for i in range(5):
for j in range(4):
if j == 3:
print(verse[j][i])
else:
print(verse[j][i],end=' ')
#二位列表生成式
rom = []
for i in range(1,5): #5列
rom.append([])
for j in range(1,8): #每行7组数据
rom[i-1].append(i*1000+100+j) #推导公式
print(rom)
#拍7游戏
a = 99 #定义可拍次数
for b in range(1,100): #创建循环次数
if b % 7 == 0: #判断7的倍数
continue #跳出本次循环
else:
c = str(b) #将数值转为字符串
if c.endswith('7'): #判断尾数7
continue #跳出本次循环
a = a-1 #可拍次数减去1
print(a)
#每日一贴
import datetime #导入时间日期类
aaaa = ['今天周一:\n坚持下去',
'今天周二:\n坚持下去',
'今天周三:\n坚持下去',
'今天周四:\n坚持下去',
'今天周五:\n坚持下去',
'今天周六:\n坚持下去',
'今天周日:\n坚持下去']
bbbb = datetime.datetime.now().weekday()#获取日期时间
print(aaaa[bbbb]) #输出每日一贴