日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字典、列表、元祖、字符串的综合(2)

發布時間:2025/3/19 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字典、列表、元祖、字符串的综合(2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.利用負數作為索引項

python里面的字典可以用負數作為其索引項,且-1表示最后一個元素

例如:

index = [1,2,3] print(index[-2]) #輸出結果為:2

2.列表的幾個操作

①‘+’操作符——用于連接兩個列表,生成一個新的列表

例如:

x = [1,2,3] y = [4,5,6] z = x + y print(z) #輸出結果為: [1,2,3,4,5,6]


②'*'操作符——將一個列表按給定的次數復制、生成一個新的列表

例如:

list_n = [1] * 4 print(list_n) #輸出結果為: [1,1,1,1]


3.列表數據類型的方法——列表的方法都沒有返回值

像max,min,len,list等python內置的函數,它們是有返回值的,而對于可變數據類型列表的方法,是沒有返回值的,它們直接修改列表

①extend方法

extend可以向列表的末尾添加可迭代的數據,元祖,列表,集合字符串等都能添加

例如:

list_n = [1] * 4 list_n.extend('123') print(list_n) #輸出結果為: [1, 1, 1, 1, '1', '2', '3']

②內置函數sum,不是方法

t = [1,2,3] a = sum(t) print(a) #輸出結果為: #6

4.刪除列表元素

方法一? ——? pop

修改列表并返回被移除的元素,如果不提供索引的參數,即括號里面是空的,則刪除和返回最后一個元素

例如:

a = [1,2,3,4,5,6,7,8,9] pop_1 = a.pop() pop_2 = a.pop(2) print(pop_1,pop_2) #輸出結果為: #9,3

方法二 —— del

不返回被移除的值

a = [1,2,3,4,5,6,7,8,9] del a[8] del a[2] print(a) #輸出結果為: #[1,2,4,5,6,7,8]

方法三 —— remove

remove不返回任何值,且傳入的參數是欲刪除元素的值

例如:

a = [1,2,3,4,5,6,7,8,9] a.remove(9) a.remove(3) print(a) #輸出結果為: #[1,2,4,5,6,7,8]

另外使用del可以刪除多個元素

例如:

a = list(range(1,10)) del a[3:7] print(a) #輸出結果為: #[1,2,3,8,9]

5.列表和字符串之間的互相轉換

字符串是一個字符序列,列表是一個值的序列,但是字符列表不同于字符串,

split()、join()、list()實現將列表和字符串之間相互轉換,例如:

string_1 = 'This is a test string' list_1 = string_1.split() print(list_1) #輸出結果為:['This','is','a','test','string'] string_2 = ','.join(list_1) print(string_2) #輸出結果為:'This,is,a,test,string' word = 'python' list_2 = list(word) print(list_2) #輸出結果為:['p','y','t','h','o','n']

6.對象,別名,引用

當兩個變量指向同一個對象時,可以用is來判斷,

當兩個變量值相同時,可以用'=='或'<>'來判斷

例如:

a = 'python' b = 'python' print(b is a,b == a) #輸出結果為True,True, #當兩個變量指向同一個對象時,它們的值肯定相等c = [1,2,3] d = c e = [1,2,3] print(c is d , c == d) print(e is c , c == e) #輸出結果為:True,True #False,True
當兩個變量指向同一個可變對象時,其中一個變量值的改變也會引起另一個值的改變

例如:

①直接將一個變量賦給另一個可變變量

a = [1,2,3] b = a b[0] = 4 print(a,b) #輸出結果為:[4,2,3],[4,2,3]

②由實參傳遞給函數的形參時:

def reference(b):b[0] = 9 a = [1,2,3] reference(a) print(a)#輸出結果為:[9,2,3]


總結:我們可以將上面的b叫做a的別名,它們指向一個對象,如果其中一個改變,必定會引起另一個的改變

這種情況容易引起意想不到的錯誤,如何避免嗯??

有以下幾種方法:

①list方法

a = [1,2,3] b = list(a) print (b is a,b == a) #輸出結果為:(False,True)

②分片方法

a = [1,2,3] b = a[:] print(b is a ,b == a) #輸出結果為:(False,True)

③copy庫的copy方法

import copy a = [1,2,3] b = copy.copy(a) print(b is a ,b == a) #輸出結果為:False,True c = [1,2,[1,2]] d = copy.copy(c) print(c[2] is d[2]) #輸出結果為True e = copy.deepcopy(c) print(c[2] is e[2]) #輸出結果為:False f = [1,2,[1,2,[1,2]]] g = copy.deepcopy(f) print(g[2][2] is f[2][2]) #輸出結果為:False


當列表里面嵌套著列表時,需要用deepcopy



總結

以上是生活随笔為你收集整理的字典、列表、元祖、字符串的综合(2)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。