python基础day4_列表list
list列表
li = ['alex',[1,2,3],'hjh','nvshen '] l1= li[0] print(l1) # alex l3= li[0:3]#['alex', [1, 2, 3], 'hjh'] print(l3)
增加 append、insert、extend
li = ['alex',[1,2,3],'hjh','nvshen ']
li.append('mary') li.append(1) print(li)#['alex', [1, 2, 3], 'hjh', 'nvshen ', 'mary', 1] while 1: username = input("输入需要新添的名字:") if username.strip().upper() == 'Q': break else: li.append(username) print(li)
insert在指定位置进行插入:
li.insert(2,'hj') print(li) #['alex', [1, 2, 3], 'hj', 'hjh', 'nvshen ']
extend添加的必须是可迭代的(例如li.extend(123)就会报错,因为123不是可迭代的)
li = ['alex',[1,2,3],'hjh','nvshen '] li.extend('ch') print(li)#['alex', [1, 2, 3], 'hjh', 'nvshen ', 'c', 'h'] li.extend([23,56,789]) print(li)['alex', [1, 2, 3], 'hjh', 'nvshen ', 'c', 'h', 23, 56, 789]
删除 pop、remove、clear、del
pop按照索引进行删除,有返回值,默认删除最后一个
li = ['alex',[1,2,3],'hjh','nvshen ']
name = li.pop(1) print(name,li)#结果[1, 2, 3] ['alex', 'hjh', 'nvshen ']']
remove按照元素删除,没有返回值
li.remove('alex') print(li)#结果[[1, 2, 3], 'hjh', 'nvshen ']
clear清空功能
li.clear() print(li)#结果[]
del删除整个列表,也可以切片删除
del li print(li)#此时将会报错,因为li列表已经上拿出,无法输出 #切片删除 del li[2:4] print(li)#['alex', [1, 2, 3]]
改
按照索引改
li = ['alex',[1,2,3],'hjh','nvshen ']
li[0] = '女神' print(li)#['女神', [1, 2, 3], 'hjh', 'nvshen ']
切片改---以迭代的方式进行改动,写多少改多少
li[0:2] = '我是女神' print(li)#['我', '是', '女', '神', 'hjh', 'nvshen ']
查---for循环、range
for i in li: print(i) print(li[0:2])
列表索引只有index,不能像字符串一样用fond,找不到就报错
排序
#排序---sort()默认正向排序 li = [7,3,2,99,80,45] li.sort() print(li) #结果[2, 3, 7, 45, 80, 99] #反向排序 li.sort(reverse= True) print(li) #结果[99, 80, 45, 7, 3, 2]
li = [7,3,2,99,80,45] #反转 li.reverse() print(li)[45, 80, 99, 2, 3, 7]
嵌套
li = ['alex',['summer',2,3],'mary','jack ',23] print(li[3][1]) #结果a
name =li[0].capitalize() li[0] = name print(li) #['Alex', [1, 2, 3], 'mary', 'jack ', 23] li[2] = li[2].replace('ry','RY') #此时是对列表中的字符串进行操作,字符串没有“改”,只有“替代” print(li) #['alex', [1, 2, 3], 'maRY', 'jack ', 23] li[1][0] = li[1][0].upper() print(li) #['alex', ['SUMMER', 2, 3], 'mary', 'jack ', 23]