列表使用方括号括起来的[ ],每个元素以逗号分隔
可以储存不同的数据类型数据
创建空列表
li=[]
创建多元素列表
li=[1,2,3,'a','gollege',['p','y','t']]
li1=li2+li3
print(li1*3)
li=['a','b','c','like','e','f']
print(len(li))
print((li[0],li[-1]))
print(li[1:5])
print(li[::-1])
print(li[3][2])
#输出结果
6
('a', 'f')
['b', 'c', 'like', 'e']
['f', 'e', 'like', 'c', 'b', 'a']
k
增:
li1=["one","two",'a','b']
li2=['lucky','boy']
li1.append(li2)
print(li1)
#['one', 'two', 'a', 'b', ['lucky', 'boy']]
li1.extend(li2)
#['one', 'two', 'a', 'b', 'lucky', 'boy']
li1.insert(1,li2)
#['one', ['lucky', 'boy'], 'two', 'a', 'b']
li1.extend(li2)
li1[2:5]=["aa",'bb','cc']
#['one', 'two', 'aa', 'bb', 'cc', 'boy']
删:
pop()
li1=["one","two",'a','b']
li1.pop()
li1.pop(1)
print(li1)
#['one', 'a']
remove()
li1=["one","two",'a','b','a']
li1.remove('a')
print(li1)
#['one', 'two', 'b', 'a']
del
li1=["one","two",'a','b','a']
del li1[2]
print(li1)
#['one', 'two', 'b', 'a']
clear()
li1=["one","two",'a','b','a']
li1.clear()
print(li1)
#[]
查
li1=["one","two",'a','b','a']
for i in li1:
print(i,end=' ')
#one two a b a
li1=["one","two",'a','b','a']
for i in range(len(li1)):
print(li1[i], end=" ")
#one two a b a
li1=["one","two",'a','b','a']
for i in enumerate(li1,2):
print(i, end=" ")
#(2, 'one') (3, 'two') (4, 'a') (5, 'b') (6, 'a')
li1=["one","two",'a','b','a']
for a,b in enumerate(li1[:2],2):
print(a,b)
#2 one 3 two
li1=["one","two",'a','b','a']
li1.reverse()
print(li1)
#['a', 'b', 'a', 'two', 'one']
li1.sort()
#['a', 'a', 'b', 'one', 'two']
li1.sort(reverse=True)
#['two', 'one', 'b', 'a', 'a']
例:两个列表交集
li1=["a","b",'c','d','e','e','d']
li2=['c','d','e','f','g']
li3=[]
def se(sr):
for i in li3:
if(i==sr):
return False
return True
for i in li1:
for j in li2:
if i==j and se(i):
li3.append(i)
print(li3)
例:input()函数实现往空列表中添加元素,当输入“q”时,结束输入,并返回列表
li1=[]
while True:
str=input("请输入元素:")
if str=='q' :
break
li1.append(str)
print(li1)
例:随机生成30个0-10的随机整数,并统计每个数出现的次数,返回的结果形式为[[0, 3], [1, 4], … , [10, 5]]
import random
li=[]
li1=[0]*11
for i in range(0,30):
a=random.randint(0, 10)
li1[a]+=1
for i in range(11):
li.append([i,li1[i]])
print (li)
a=[1,2,3]
b=a
print(a,b)
a[1]=5
print(a,b)
[1, 2, 3] [1, 2, 3]
[1, 5, 3] [1, 5, 3]
la=[1,2,3,4,[1,2],6]
lb=la
lb2=la[:]
la[4][1]='a'
la[0]='a'
print(la,lb2)
#20399568 20400728
#['a', 2, 3, 4, [1, 'a'], 6] [1, 2, 3, 4, [1, 'a'], 6]
import copy
la=[1,2,3,4,[1,2],6]
lb3=la.copy()
print(id(la),id(lb3))
la[4][1]='a'
la[0]='a'
print(la,lb3)
#61426264 62341728
['a', 2, 3, 4, [1, 'a'], 6] [1, 2, 3, 4, [1, 'a'], 6]
la=[1,2,3,4,[1,2],6]
lb4=list(la)
la[4][1]='a'
la[0]='a'
print(id(la),id(lb4))
print(la,lb4)
#5261912 46612888
['a', 2, 3, 4, [1, 'a'], 6] [1, 2, 3, 4, [1, 'a'], 6]
#深拷贝!!!!!!!
import copy
la=[1,2,3,4,[1,2],6]
lb5=copy.deepcopy(la)
la[4][1]='a'
la[0]='a'
print(id(la),id(lb5))
print(la,lb5)
#50742776 50742016
['a', 2, 3, 4, [1, 'a'], 6] [1, 2, 3, 4, [1, 2], 6]
print([x for x in range(10)])
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
domo
lis=['one','two','a','b']
lis1=['a','b','c']
#过滤
li=[i for i in lis if i not in lis1]
print(li)
#['one', 'two']
a=[1,2,3]
b=['a','b','c']
print([[i,j] for i in a for j in b])
#[[1, 'a'], [1, 'b'], [1, 'c'], [2, 'a'], [2, 'b'], [2, 'c'], [3, 'a'], [3, 'b'], [3, 'c']]