列表详解
列表的增删改查!
增加
li = ['zxc', 'is', 'a'] # append 在列表结尾整体添加 修改列表,但是没有返回值 li.append('boy') print(li) # insert 按照索引来添加(索引超过列表长度就添加到结尾) 修改列表,但是没有返回值 li.insert(3, 'good') print(li) # extend 迭代着去添加 修改列表,但是没有返回值 li.extend('!!!') print(li)
删除
li = ['zxc', 'is', 'a', 'good', 'boy'] # pop 按照索引删除,有返回值,默认删除最后一个 s = li.pop() # 默认 s1 = li.pop(3) # 索引 print(s, s1, li) # remove 按照元素删除 没有返回值,如果元素为空或在列表中不存在报错 li.remove('a') print(li) # clear 清空列表 li.clear() print(li) # del 可以删除整个列表,也可以按照索引去删除,切片删除 li = ['zxc', 'is', 'a', 'good', 'boy'] # del li # 删除,li不存在 del li[3] # 索引 del li[0:2] # 切片 print(li)
修改
li = ['zxc', 'is', 'a', 'good', 'boy'] # 通过索引直接赋值修改 li[3] = 'bad' print(li) # 通过切片修改,会删除切片的内容,将赋值的内容迭代添加 li[0:3] = ['zxf'] print(li) li[0:3] = 'zxf' print(li)
查看
列表的查看方式和字符串相同!
列表的循环
列表的循环和字符串相同,可以通过for循环完成。
li = [1, 2, 3, 5, 'alex', [2, 3, 4, 5, 'taibai'], 'afds'] for i in li: print(i)
列表的排序
用于对元素全是数据类型相同的列表的进行排序。
li = [1, 3, 4, 2, 6, 9, 7] # sort 正向排序 只适用于数据类型相同的列表,否则报错 li.sort() print(li) li.sort(reverse=True) # 反向排列 print(li)
列表翻转
# reverse 列表翻转 li = ['alex', 'wusir', 'eric', 'rain', 2] li.reverse() print(li)
列表转换为字符串
可以使用join将list转换为str。
# 使用join将列表转换为字符串 可以使用任意字符进行分割,也可以是空白字符 li = ['zxc', 'is', 'a', 'good', 'boy'] s = ''.join(li) # 空白 s1 = '.'.join(li) s2 = ' '.join(li) # 空格 print(s, s1, s2)
列表的嵌套
通过索引可以对嵌套的列表进行各种操作。
# 列表的嵌套 通过嵌套的列表的索引可以对其进行各种操作 li = [1, 'zxc', 3, ['zxc', 'is', 'a', 'good', 'boy'], 4, '5'] print(li[3]) print(li[3][0]) # li[3]就是个列表,所以可以进行列表的增删改查 print(li[1].capitalize()) print(li[1].upper()) # li[1]就是个字符串,所以可以进行字符串的各种操作
元祖
元祖是一种只读列表!
# 元祖,只读列表,可循环查询,可切片 tu = (1, 2, 3, ['zxc', 'is', 'a', 'good', 'boy'], 4, '5') # tu[2] = '4' # 不能修改会报错 tu[3][3] = 'bad' # 元祖中嵌套的列表中的元素不是只读,可以修改 print(tu) print(tu[3]) # 查询 print(tu[0:3]) # 切片 # 循环 for i in tu: print(i)
range
range函数可以创建一个整数列,通过for循环输出所有整数。
# range 可以创建一个整数列 一般用在for循环中 for i in range(10): print(i) # 跳步 for j in range(0, 10, 2): print(j) # 反向 for h in range(10, 0, -1): print(h)