列表:
# 陌言
# 开发时间:2021/8/8 10:18
#列表
''''创建的两种方式 可以存储不同类型的数据'''
list1=['Python','java','98','Python']
list2=list(['Python','java','98','Python'])
print('list1:',list1)
print('list2:',list2)
print('list1[1]:',list1[1]) #类似于数组 第一个索引为0
print('list1[-2]',list1[-2]) #最后一个的索引为-1
#list1.inde(z,x,y) 在索引[x,y)之间查找z元素(不包含索引y)
print('Python在list1中的索引:',list1.index('Python')) #获取指定对象的索引位置,若列表中存储多个相同该元素,只返回第一个索引
#print(list1.index('c')) 抛出异常 不存在
#获取列表中的元素 切片 产生一个新的列表 对源列表没有影响
#list1[x:y:z] 取出列表中[x,y)之间步长为z的元素 注意:中间用(:)
print(list1[1:3:1])
print(list1[1:3]) #默认步长为1
print(list1[1:3:]) #默认步长为1
print(list1[:3:1]) #默认起始位置为0
print(list1[1::1]) #默认末位置为该列表末尾
#步长为负数
print(list1[::-1]) #倒叙输出,默认最后一个为第一个 第一个为最后一个
print(list1[1::-1]) #向前推
print(list1[1:0:-1])
#在列表末尾添加一个元素 append 不改变原来列表的地址
list1.append('c')
print(list1)
#在列表末尾添加至少一个元素 extend
list2=['hello','world']
list1.extend(list2)
print(list1)
#在列表的任意位置添加一个元素 insert
list1.insert(2,'c++') #在索引为2的位置上添加‘c++’字符
print(list1)
#在列表的任意位置至少添加一个元素 切片
list3=['原神','bilibili','bilibili']
list1[1:]=list3 #从索引为1开始至末尾的元素切掉 并将list3中的元素添加到list1中
print(list1) #list1=['Python', '原神', 'bilibili', 'bilibili']
#列表的删除操作
#remove 若有重复元素则只移除第一个元素
list1.remove('bilibili')
print(list1)
#pop 根据索引移除元素 超出索引会抛出异常!!
list1.pop(0)
print(list1)
list1.pop()
print(list1) #若不指定参数 则会自动抛出最后一个元素
#删除原列表中的N个元素 修改列表中的元素
list1.extend(list2)
print('list1:',list1)
list1[1:3]=[] #使列表[1,3)位置的元素为空,则相当于删除这些元素 修改操作同理
print('删除后list1:',list1)
#清楚列表 clear
list1.clear()
print('list1:',list1)
#删除列表
del list1
#print(list1) 报错 列表已经删除了 不存在该列表
#对列表进行排序 对中文无效(似乎,试了一下) 排序不产生新的列表!! 只在原列表中进行修改
#如果一个列表中同时存在str和数字类型的元素 使用排序会报错
list4=[12,321,123,12,3,21]
print('排序前:',list4,id(list4))
list4.sort()
print('排序后:',list4,id(list4))
#降序排列 使用关键字 reverse
list4.sort(reverse=True) #True为降序排列 False为升序排列
print('降序:',list4)
#对列表进行排序 产生一个新的列表 不对原列表进行修改
list5=[12,321,123,12,3,21]
new_list=sorted(list5)
print('原列表:',list5)
print('新列表:',new_list)
#降序:
new_list=sorted(list5,reverse=True)
print('降序:',new_list)
#列表生成式
#[x for y in range()] x表示列表中元素的表达式(即列表中要存储的元素) y是自定义变量
list6=[i for i in range(1,10)]
print('list6:',list6)
list6=[i*i for i in range(1,10)]
print('list6:',list6)
结果: