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 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]

猜你喜欢

转载自www.cnblogs.com/Cheryol/p/9587985.html