Pythonlearning__2(连载中)
(3)列表list中提供的功能
v=[12,34,56,78,'江老板']
#1.在列表追加一个值[修改本身值]
v.append('李总')
print(v)
>>>[12,34,56,78,'江老板','李总']
例:v=[]
while True:
name=input("请输入用户名:")
if name.lower()=='q':
break
v.append(name)
print(v)
#2.在指定位置插入
v.insert(4,'孙子')
print(v)
>>>[12, 34, 56, 78, '孙子', '江老板']
#3.两个列表做加法
cat.extend(dog) #将dog加入到cat里
#4.删除
#del
del v[1]
del v[2:4]
#pop
v.pop(0) #不写索引值默认删除最后一个值
#remove 删除符合条件的元素
v=[12,34,56,78,"江老板"]
if 12 in v:
v1 = v.remove(12)
print(v)
>>>[34, 56, 78, '江老板']
#5.替换或修改
v=['张三','李四','大一','sali']
v[3]="老吴啊"
>>>['张三', '李四', '大一', '老吴啊']
v[2:4]="老吴啊"
>>>['张三', '李四', '老', '吴', '啊']
v[2:4]=["老吴啊","三峡"]
>>>['张三', '李四', '老吴啊', '三峡']
公共功能
v=[12,34,56,78,'江老板']
#1.索引
val1=v[3] 78
val=v[0:4] [12, 34, 56, 78]
val=v[0:4:2] [12, 56] (取不到末值,索引中终止位置省略的话可取)
#val=v[0:4:2] [12, 56,'江老板']
#2.循环
name = ["崔","张","李","王"]
for n in name:
print(n ,end="")
print()
for index,n in enumerate(name):
print(f"no.{index} is {n}")
结果:
崔张李王
no.0 is 崔
no.1 is 张
no.2 is 李
no.3 is 王
#3.排序
reverse() 将列表倒序排列,该方法没有返回值。
sort() 将列表正序排列,该方法没有返回值
sorted() 将列表正序排列,但有返回值,而且不改变原列表
v=[1,2,5,4,3]
print(v.reserve)
print(v.sort)
print(v.sorted)
结果:
[3,4,5,2,1]
[1,2,3,4,5]
[1,2,3,4,5]
#4.max,min
max(v)
min(v)
#5.复制
推导式
v = list(range(8))
print(v)
v1 = [n+2 for n in v]
print(v1)
v2 = [n for n in v if n%2==0]
print(v2)
结果:
[0,1,2,3,4,5,6,7]
[2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 4, 6]
练习题
#列表中的元素可以是:数字、字符串、布尔值、列表
li=[11,22,[6,"362",4],33,True,"蒋毅",55]
l=len(li)
print(l)
>>>7
val=li[2][1][-1]
print(val)
>>>2
li[3]=66
print(li)
>>>[11, 22, [6, '362', 4], 66, True, '蒋毅', 55]
li[2][1]=77
print(li)
>>>[11, 22, [6, 77, 4], 33, True, '蒋毅', 55]
li[5]="大xai"
print(li)
>>>[11, 22, [6, '362', 4], 33, True, '大xai', 55]
li[5][0]="大"
print(li)
>>>报错
li[5]=li[5].replace('蒋','大')
print(li)
>>>[11, 22, [6, '362', 4], 33, True, '大毅', 55]
一般直接li[5]="江毅"
浙公网安备 33010602011771号