列表中可以存储多个数据类型不同的对象
一个对象的内存空间:
因此一个列表的内存空间为:
a = 10 lst = ['hello' , 'a' , a ,'world'] print(lst) print(type(lst)) print(id(lst)) print('lst[0] type:' , type(lst[0]))
内存示意图:
#创建列表的第一种方式: lst = ['hello','world','52525'] print(lst) #第二种方式内置函数函数list() lst1 = list['nice','to','meet','you'] #错误写法 不是list[] print(lst1) lst2 = list(['nice','to','meet','you']) print(lst2) print("lst2[0]:" ,lst2[0]) print("lst2[-4]:",lst2[-4])
#查询 print(lst.index('52525')) #在一定范围内查找 print(lst.index(4,0,5)) #index中分别为 value,start,stop
切片结果!!!相当于返回的是原列表的部分元素组成的新列表
lst = ['hello','world','52525',123,4,2] print(lst) print(lst[0:3]) print(lst[0:4:2])
注意:当 x:x:-x,即步长为负数时,相当于start从后往前
print("步长为负数") print(lst[::-1]) print(lst[3:1:-1])
lst = ['hello','world','52525',123,4,2] print(lst) for item in lst : print(item)
lst = ['hello','world','52525',123,4,2] print(lst,id(lst)) lst.append(100) print(lst,id(lst)) #可以看出地址并没有变化 lst1 = ['新的列表','即将插入'] lst.append(lst1) #将lst1作为一个元素插入在列表lst中(append只能插入一个元素) print(lst) lst.extend(lst1) #在lst的末尾一次性插入多个元素 print(lst) lst.insert(0,90) #insert(index,value) print(lst) #切片 lst3 = ['True','False','List'] lst[1:] = lst3 print(lst)
lst = ['hello','world','52525',123,4,2] print('remove删除:') print(lst) lst.remove('hello') #删除指定过的一个元素 print(lst) print('pop删除:') #pop()根据v索引位置删除 lst.pop(1) #删除’5252‘ print(lst) print('切片删除(产生新列表):') #切片 #此时产生了新的一个列表对象,不符合我们的期望 new_list = lst[1:4] print("new_list:",new_list) print(lst) print('切片删除(不产生新列表,对原列表进行删除,用[]替代):') #不需要产生新的列表,对原列表进行多个元素阐述 lst[1:4] = [] print(lst)
列表中的元素有一定的规则,才需要列表生成式
#列表生成式 lst = [i for i in range(0,11)] print(lst) lst = [i*i for i in range(0,11)] print(lst)