数据类型-列表

一、列表

1.1 作用:多个装备,多个爱好,多门课程,多个女朋友等

1.2 定义:[]内可以有多个任意类型的值,逗号分隔

my_friend = (['sean',18,'75kg','176cm'],['Jake',21,'50kg','165cm'])
print(my_friend)
msg = list('anc')
print(msg) # a n c
print(type(my_friend)) # tuple
print(type(msg)) # list

1.3 按索引存取值(正向存取+反向存取):即可存也可以取 

eg:取
l = [11, 22, 33]
print(l[0]) #11
print(l[-1]) #33
eg:存
l[0] = 55 # 用55替换11后显示
print(l) # 展示结果:[55,22,33]

1.4切片(顾头不顾尾,步长)

l=[11,22,33,44,55]
res=l[0:5:2] # 开始位置,结束为止(不取),步长值
print(res)
print(l)

l0 = [11, 22, 33]
print(l0[::-1]) # 省略开始位置与结束为止(不取),步长值去负数,从右侧开始取值
print(l0[:]) #取l0所有值

l1=[11,22,33,44,55]
l1[0]=444 #存值,将第0个数值替换为444
print(l1[1]) #显示第1个数值

src_l = [11, 22, [33, 44]]
dst_l=src_l[:]
dst_l=src_l.copy() #复制scr_l
print(dst_l)
print(id(src_l[0]),id(src_l[1]),id(src_l[2])) # scr_l与dst_l中各个元素的ID一样
print(id(dst_l[0]),id(dst_l[1]),id(dst_l[2]))
dst_l[2][0] = 555 #将dst_l中子列表[33,44]中的33替换为555
print(dst_l)

1.5 长度len

l= [11,22,33]
print(len(l)) #返回结果为3
l = [12]
print(len(l)) #返回结果为3

1.6 成员运算in和not in

src_l = [11, 22, [33, 44]]
print([33, 44] in src_l) #True
print([44, 33] in src_l) #False,子列表内元素顺序发生变化,故为false
print([44, 33] not in src_l) #True

1.7追加

1)append:用法:name.append('**'):只是单纯地往列表末尾添加值,该功能本身没有返回值,同时更换不存在的索引值会报错

    src_l = [11, 22, 33]

src_l[2] = 111111  # 报错
src_l.append(44) #append只是单纯地往列表末尾添加值,该功能本身没有返回值,同时更换不存在的索引值会报错
src_l.append(55)
res = src_l.append(88)
print(src_l)
print(res) #返回none,不会返回添加的值或字符

2)insert只是单纯地往列表指定位置添加值,该功能本身没有返回值

src_l = [1,2,3]
src_l.insert(0,'aaa') #insert只是单纯地往列表指定位置添加值,该功能本身没有返回值
print(src_l) #['aaa', 1, 2, 3]

3)extend:
可以一次添加多个值,不能返回添加的值
names=['egon','jack','tom']
names.extend(['sean','japer'])
scr_l= names.extend(['fanny'])
print(scr_l)
print(names)

1.8删除

names=['sean','jack','tom']
方式1:万能删除,没有返回值===》单纯的删
del names[1] 不显示删除的字符
print(names)

方式2:remove指定元素删除,没有返回值===》单纯的删
res = names.remove('tom')
print(res) #None 不显示删除的字符
print(names)

方式3:pop指定索引删除,有返回===》取走 注意:pop删除默认从右往左删除,即倒叙删除,故如需从首个字符删除,需注明索引,即POP(0)。
res=names.pop(1)
print(res) #取走Jack
print(names) #显示剩余 sean与tom

1.9循环

names=['sean','japer','tom']
for name in names:
print(name)

1.10

 1)count计数;index返回索引位置

names = [11, 22, 'egon', "egon", 'jack','egon', 'tom']
print(names.count("egon")) #统计Egon有几个
res = names.index('egon') # index没有会报错,不推荐使用index,有则返回索引位置
print(res) #返回索引位置2
print(names.clear()) #清空列表内所有元素

2)reverse按照按照原有元素的逆序排列展示
names=[1,2,'sean']
names.reverse() #按照原有元素的逆序排列展示
print(names)

 练习:

t = []
t.append('first')
t.append('second')
t.append('third')
print(t)
#队列:先进先出FOFI
print(t.pop(0))
print(t.pop(0))
print(t.pop(0))
#堆栈:后进先出
print(t.pop())
print(t.pop())
print(t.pop())

原文地址:https://www.cnblogs.com/datatool/p/13355230.html