1. 程式人生 > >python學習之列表

python學習之列表

join KS move 需要 第一個 rev mov 索引 sort

列表是中括號括起來的部分都是列表,如:

li = [1,2,3,"aass","age",["abc","bcd","123"],89,100,True,False]

以上可以看出,列表裏面可以是字符串、字符、數字,列表,列表裏面嵌套列表、布爾值等,元素之間用逗號(,)分割。

獲取列表中的元素

#!/usr/bin/env python
li = [1,2,3,"aass","age",["abc","bcd","123"],89,100,True,False]
#索引取值
print(li[0])
#切片取值
print(li[0:6])
#列表元素修改
li[1]=200
print(li)
li[0]=[100,99,98]
print(li)

結果

1
[1, 2, 3, aass, age, [abc, bcd, 123]]
[1, 200, 3, aass, age, [abc, bcd, 123], 89, 100, True, False]
[[100, 99, 98], 200, 3, aass, age, [abc, bcd, 123], 89, 100, True, False]

刪除列表中的元素

#!/usr/bin/env python
li = [1,2,3,"aass","age",["abc","bcd","123"],89,100,True,False]
#索引方式刪除
del li[1]
print(li)
#切片方式刪除
del li[2:4]
print(li)

結果:

[1, 3, ‘aass‘, ‘age‘, [‘abc‘, ‘bcd‘, ‘123‘], 89, 100, True, False]
[1, 3, [‘abc‘, ‘bcd‘, ‘123‘], 89, 100, True, False]

通過for循環獲取列表中元素

#!/usr/bin/env python
li  = [1,2,3,"aass","age",89,100,True,False]
for a in li:
    print(a)

結果:

1
2
3
aass
age
89 100 True False

判斷元素是否在列表中,在返回True,不在返回False

#!/usr/bin/env python
li  = [1,2,3,"aass","age",["abc","bcd","123"],89,100,True,False]
# in操作,判斷元素是否在列表中,在返回True,不在返回False
v = 2 in li
print(v)
v1 = 198 in  li
print(v1)

結果:

True
False

獲取列表中列表元素

#!/usr/bin/env python
li  = [1,2,3,"aass","age",["abc","bcd","123"],89,100,True,False]
#查找“bcd”
a=li[5][1]
print(a)

結果

bcd

字符串轉化成列表

#!/usr/bin/env python
#字符串轉化成列表,數字是不能直接轉化成列表。
str="shssksk"
new_list= list(str)
print(new_list)

結果

[s, h, s, s, k, s, k]

將列表轉化成字符串,如果列表中既有字符串、也有數字需要自己寫for循環轉化

#!/usr/bin/env python
list = [1,2,3,"adc","sss","sef"]
s=""
for  i in list:
    s=s + str(i)
print(s)

結果:

123adcssssef

如果元素中只有字符串,直接使用join進行轉化

#!/usr/bin/env python
list = ["adc","sss","sef"]
str="".join(list)
print(str)

結果:

adcssssef

在列表中追加元素

#!/usr/bin/env python
list = ["adc","sss","sef"]
list.append(5)
print(list)
list.append("opu")
print(list)

結果:

[adc, sss, sef, 5]
[adc, sss, sef, 5, opu]

清空列表

#!/usr/bin/env python
li = ["adc","sss","sef"]
li.clear()
print(li)

結果:

[]

拷貝列表

#!/usr/bin/env python
li = ["adc","sss","sef"]
new_li=li.copy()
print(new_li)

結果

[adc, sss, sef]

元素在列表出現的次數

#!/usr/bin/env python
li = ["adc","adc","sef"]
new_li=li.count("adc")
print(new_li)

結果:

2

擴展列表,參數是可叠代對象,比如字符串和列表,註意和append不一樣


#!/usr/bin/env python
li = ["adc","adc","sef"]
li.extend([1,2,3])
print(li)
li.extend("fgh")
print(li)

結果:

[adc, adc, sef, 1, 2, 3]
[adc, adc, sef, 1, 2, 3, f, g, h]

查找列表中元素索引位置,從前向後查找,找到第一個將不再向後查找

#!/usr/bin/env python
li = ["adc","adc","sef",22,12,22]
s=li.index(22)
print(s)

結果:

3

在指定位置添列表元素,有兩個參數,第一個參數是指定添加的位置,第二個參數是添加的內容

#!/usr/bin/env python
li = ["adc","adc","sef",22,12,22]
li.insert(0,[100,99,98])
print(li)

結果:

[[100, 99, 98], adc, adc, sef, 22, 12, 22]

刪除列表中某個元素,默認是刪除最後一個元素,也可以指定刪除元素的位置索引

#!/usr/bin/env python
li = ["adc","adc","sef",22,12,22]
n=li.pop()
print(n)
print(li)

結果:

22
[adc, adc, sef, 22, 12]

刪除列表中的指定元素

#!/usr/bin/env python
li = ["adc","adc","sef",22,12,22]
li.remove(22)
print(li)

結果:

[adc, adc, sef, 12, 22]

將列表中的元素反轉

#!/usr/bin/env python
li = ["adc","adc","sef",22,12,22]
li.reverse()
print(li)

結果:

[22, 12, 22, sef, adc, adc]

列表排序,默認是從小到大排序,加上reverse=True 就是從大到小排

#!/usr/bin/env python
li = [44,10,22,12,22]
li.sort(reverse=True)
print(li)
li.sort()
print(li)

結果:

[44, 22, 22, 12, 10]
[10, 12, 22, 22, 44]

python學習之列表