python列表使用技巧与方法_Python列表的相关操作与方法
Python列表的相關操作與方法
1.列表
why:int、bool、str存在缺陷
str:存儲少量的數據;所有的操作獲取的內容都是 str類型,存儲的數據類型單一。
what:
列表可以承載任意數據類型,存儲大量的數據。
Python常用的容器型數據類型。list 列表,其它語言:Java:數組
列表是有序的,可索引,切片(步長)。 (
與字符串稍有一點區別(取出來的元素數據類型不同))
索引、切片(一切片 就是一個小列表)、步長
li = [100,'taibai',True,[1,2,3]]
#索引
# print(li[0] , type(li[0]))
# print(li[1],type(li[1]))
#切片 (顧頭不顧腚)
#print(li[:2])
相關練習題:
li = [1, 3, 2, "a", 4, "b", 5,"c"]
通過對li列表的切片形成新的列表l1,l1 = [1,3,2]
通過對li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
通過對li列表的切片形成新的列表l4,l4 = [3,"a","b"]
通過對li列表的切片形成新的列表l6,l6 = ["b","a",3]
2. 列表的常用操作與方法
1. 列表的創建
方式一:
l1 = [1,2,'abc']
方式二:
l1 = list()
l1 = list('feajoijae')
方式三:列表推導式:
根據現有元素,和已經確定的推導規則,可以依次推出新的列表的每一項。
lis1 = [1,2,3,4,5,6]
lis2 = [x**x for x in lis1]
print(lis2) #[1, 4, 27, 256, 3125, 46656]
lis3 = [[x, x*x , x**x] for x in lis1]
lis4 = [(x, x*x , x**x) for x in lis1]
lis5 = [{x, x*x , x**x} for x in lis1]
print(lis3) #[[1, 1, 1], [2, 4, 4], [3, 9, 27], [4, 16, 256], [5, 25, 3125], [6, 36, 46656]]
print(lis4) #[(1, 1, 1), (2, 4, 4), (3, 9, 27), (4, 16, 256), (5, 25, 3125), (6, 36, 46656)]
print(lis5) #[{1}, {2, 4}, {27, 9, 3}, {16, 256, 4}, {25, 3125, 5}, {46656, 36, 6}]
2. 增
append, 列表最后追加一個元素
l1 = ['太白','女神','吳老師','xiao','閻龍']
l1.append('xx')
print(l1)
#注意:
print(l1.append('xx')) ##None ##打印錯了,只是一種追加的方式,沒有返回值
insert,在列表任意位置插入
l1 = ['太白','女神','吳老師','xiao','閻龍']
l1.insert(2,'xx')
print(l1)
extend,列表最后迭代追加一組數據(組成對象的最小元素)
l1 = ['太白','女神','吳老師','xiao','閻龍']
l1.extend('abcd')
l1.extend(['alex']) #組成對象的最小元素
2. 刪
pop 按照索引位置刪除,返回刪除的元素
(只有pop操作返回,其它都不返回)
pop() 默認刪除最后一個
l1 = ['太白','女神','吳老師','xiao','閻龍']
l1.pop(-2)
remove 刪除指定元素
如果有重名元素呢?默認刪除從左數第一個元素
l1.remove('xiao')
clear() 清空 元素沒了,為空列表
del
按照索引刪除
del l1[-1]
按照切片刪除
del l1[::2]
3. 改
按索引改
l[0] = 'nm'
按切片改
l = ['太白', 'alex', 'WuSir', '女神']
l[1:3] = 'abcdefg'
print(l) # ['太白', 'a', 'b', 'c', 'd', 'e', 'f', 'g', '女神']
按切片(步長)(必須一一對應)
l = ['太白', 'alex', 'WuSir', '女神']
l[::2] = '對應'
print(l) # ['對', 'alex', '應', '女神']
4. 查
索引、切片
循環
其它操作:
sort 排序
reverse 列表中的元素 反向存放
列表可以相加也可以與整數相乘
5. 列表的嵌套
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
將列表中的字符串"1"變成數字101(用兩種方式)。
#方法1:
del lis[3][2][1][2]
lis[3][2][1].insert(2,101)
#方法2: ##不知道索引的前提下
def fun(lis):
for i in lis:
if type(i) is list:
# if isinstance(i , list):
fun(i)
elif i == '1':
a = lis.index('1')
del lis[a]
lis.insert(a,101)
fun(lis)
print(lis)
注意:有些函數是針對字符串的 如replace ,有些是針對列表的,注意使用時候區分
總結
以上是生活随笔為你收集整理的python列表使用技巧与方法_Python列表的相关操作与方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ map iterator 获取k
- 下一篇: centos 6.8安装git_Cent