a = 10
'''创建列表的第一种方式,使用[]'''
lst = ['hello','world',98]
print(id(lst))
print(type(lst))
print(lst)
'''创建列表的第二种方式,使用list()'''
lst2 = list(['hello', 'world', 98])
'''
1.列表元素按顺序有序排序
2.索引映射唯一一个数据
3。列表可以存储重复数据
4。任意数据类型混存
5。根据需要动态分配和回收内存
'''
#index 函数
print(lst.index('hello'))
# print(lst.index('hello',1,4))
print(lst[2])
#切片
lst3 = [10,20,30,40,50,16,70,80]
#start 开始位置 stop 结束位置 step 步长 可以不写
print(lst3[1:6])
print(lst3[1:6:2])
print('------------------step步长为负数的情况--------------------')
# print('愿列表:',)
print(lst3[::-1])
print(lst3[5::-1])
print(lst3[5::-2])
# 判断元素是否在列表中存在
print( 'p' in 'python')
print('k' not in 'python')
lst4= [10,20,'python' , 'hello']
print(10 in lst4)
print(100 in lst4)
print(10 not in lst4)
print(100 not in lst4)
for item in lst4:
print(item)
# 列表元素的增加
# append() 在列表末尾加一个
# extend() 在列表末尾至少添加一个
# insert() 在列表的任意位置添加一个
# 切片 在列表的任意位置至少添加一个
lst5 = [10,20,30]
print('添加元素之前',lst5,id(lst5))
lst5.append(100)
print('添加元素之前',lst5,id(lst5))
lst6 = ['hello','world']
lst5.extend(lst6)
print(lst5)
lst5.insert(1,1000)
print(lst5)
lst7 = [True,False,'hello']
lst5[1:] = lst7
print(lst5)
#删除操作
# remove 一次删除一个,重复元素只删除第一个,元素不存在跑出valueError,
# pop 删除一个指定索引位置上的元素 指定索引不存在跑出IndexError 不指定索引,删除列表的最后一个元素
# 切片 一次至少删除一个元素
# clear 清空
# del 删除列表
lst8 = [10,20,30,40,50,60,30]
lst8.remove(30) #有重复,只删除第一个
print(lst8)
lst8.pop(1)
print(lst8)
lst8.pop() # 删除最后一个
print(lst8)
print('---------------------切片操作-至少删除一个元素,将产生一个新的列表对象------------------------')
new_list = lst8[1:3]
print(lst8)
print(new_list)
'''不产生新的列表对象 而是删除愿列表的内容'''
lst8[1:3] = []
print(lst8)
lst8.clear()
print(lst8)
del lst8
# print(lst8)
lst9 = [10,20,30,40]
#一次修改一个值
lst9[2] = 100
print(lst9)
lst9[1:3] = [300,400,500,600]
print(lst9)
#排序操作
lst10 = [20,40,10,98,54]
print('排序前的列表',lst10,id(lst10))
#开始排序
lst10.sort()
print(lst10,id(lst10))
#关键字操作
lst10.sort(reverse=True)
print(lst10)
new_list1 = sorted(lst10)
print(lst10)
print(new_list1)
#关键字
new_list2 = sorted(lst10,reverse=True)
print(lst10)
print(new_list2)
# 列表生成式
lst11 = [i * i for i in range(1,10)]
print(lst11)
lst11 = [i * 2 for i in range(1,6)]
print(lst11)
#列表生成式
lst = [ i*i for i in range(6)]
print(lst)
#集合生成式 数量变大是无序的
s = { i*i for i in range(10)}
print(s)
# {0, 1, 64, 4, 36, 9, 16, 49, 81, 25}
python笔记 自己留着观看