python之列表、元組操作方法

列表:

#以中括號包圍,可變的有序集合

li = ['1','2','3','4','5','6','7','8','9','0',['a','b,','c']]


#插入:

li.insert(1,'your')         #在1的索引位上插入數據
li.append('a')            #將字符追加到列表
a='your name is {}'
li.extend(a)             #將一個字符串或列表追加到列表

#刪除

print(li.remove('1'))             #刪除指定元素
del li[1]                   #刪除指定索引位的元素。del可以刪除任何東西。是python中內置的
li.clear()                  #清空列表

#修改

li[2] = 'a'                  #更新指定索引位的值

#查

print(li.index('2'))            #查找指定字符的索引位,沒有則返回錯誤

#切片查

print(li[1:])               #列表切片,指定索引位到最後
print(li[1:3])              #列表切片,開始索引:結束索引(不包括結束位置,-1代表最後一位)
print(li[:-1])              #列表切片,從開始到最後一位(不包括結束位置)
print(li[1::2])
print(li[::2])
print(li[1:-1:2])             #列表切片,其實索引:結束索引:步長()

#統計、排序、倒序

print(li.count('1'))             #統計列表中指定元素的個數
print(li.sort())               #按照數字、大寫、小寫的順序排序
print(li.pop(1))               #彈出並刪除指定索引位的元素,默認刪除最後一位
li.reverse()                 #將列表倒序輸出

#淺copy

li = ['1','2','3','4','5','6','7','8','9','0',['a','b,','c']]
new_li = li.copy()
new_li[3] = 'your'

#修改第一層列表

print(li)
['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ['a', 'b,', 'c']]
print(new_li)
['1', '2', '3', 'your', '5', '6', '7', '8', '9', '0', ['a', 'b,', 'c']]

#這是正常的,修改新的列表,原列表元素不修改。接下來看一下修改嵌套列表

new_li[10][1] = 'thanks'
print(li)
['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ['a', 'thanks', 'c']]
print(new_li)
['1', '2', '3', 'your', '5', '6', '7', '8', '9', '0', ['a', 'thanks', 'c']]

#這不正常了啊。怎麼修New_li,原來的li也更改了呢。好吧,這就是python的淺copy。只複製第一層元素內存地址給新的列表。子元素還指向原來的內存地址

#深copy

#在Python中如果我們想要完全的複製一個列表。需要使用到copy模塊中的deepcopy方法

import  copy
new_li = copy.deepcopy(li)
new_li[3] = 'I'
new_li[10][1] = 'thanks'
print(li)
['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ['a', 'b,', 'c']]
print(new_li)
['1', '2', '3', 'I', '5', '6', '7', '8', '9', '0', ['a', 'thanks', 'c']]

#看到輸出結果,正是我們想要的結果


元組:

特性:以小括號包圍逗號分隔的一個只讀列表。

注意:創建單個元組的元組時也要使用逗號結尾。否則創建類型是str

tup_1=('3','4','10','11','22')
print(tup_1.index('4'))     #查找指定元素的索引
print(tup_1.count('1'))     #統計指定元素出現的次數
print(tup_1[1])             #查找指定索引位的元素
print(tup_1[2:-1])          #元組切片,
print(id(tup_1))            #打印元組的內存地址
print(max(tup_1))           #打印元組最大值
print(min(tup_1))

    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章