前言
公共操作符和推導(dǎo)式是 Python 編程中的兩個(gè)精華部分,它們能夠大幅簡(jiǎn)化代碼并提高開發(fā)效率。
那么今天我?guī)Т蠹疑钊胩剿?Python 中的公共操作符和推導(dǎo)式,帶您一窺其背后的神奇力量。我們將學(xué)習(xí)如何使用公共操作符來進(jìn)行常見的數(shù)據(jù)操作,例如比較、邏輯運(yùn)算和成員關(guān)系判斷。這些操作符能夠快速且簡(jiǎn)潔地處理數(shù)據(jù),使我們能夠更加高效地編寫代碼。
除了公共操作符,推導(dǎo)式也是 Python 編程中的一項(xiàng)強(qiáng)大技巧。推導(dǎo)式允許我們以精簡(jiǎn)的語(yǔ)法生成新的數(shù)據(jù)結(jié)構(gòu),如列表、字典和集合。通過推導(dǎo)式,我們能夠更加簡(jiǎn)潔地創(chuàng)建和操作數(shù)據(jù),減少冗余代碼,使程序更加清晰易讀。
讓我們一起揭開 Python 公共操作符和推導(dǎo)式的神秘面紗,探索它們的魔力,并將其應(yīng)用于您的下一個(gè)編程項(xiàng)目吧!啟程吧,進(jìn)入這個(gè)令人激動(dòng)的 Python 編程世界吧!
公共操作
1.運(yùn)算符
運(yùn)算符 | 描述 | 支持的容器類型 |
---|---|---|
+ | 合并 | 字符串、列表、元組 |
* | 復(fù)制 | 字符串、列表、元組 |
in | 元素是否存在 | 字符串、列表、元組、字典 |
not in | 元素是否不存在 | 字符串、列表、元組、字典 |
1)+ 合并操作
合并操作能夠?qū)蓚€(gè)相同的容器類型合并成一個(gè)容器。
str1 = 'zhangsan'
str2 = 'lisi'
list1 = [1,2,3]
list2 = [4,5,6]
t1 = (1,2,3)
t2 = (4,5,6)
str3 = str1 + str2
list3 = list1 + list2
t3 = t1 + t2
print(str3)
print(list3)
print(t3)
2)* 復(fù)制操作
復(fù)制操作能夠?qū)⒁粋€(gè)容器里面的數(shù)據(jù)復(fù)制 n 份。
str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
str2 = str1 * 3
list2 = list1 * 3
t2 = t1 * 3
print(str2)
print(list2)
print(t2)
in / not in 判斷數(shù)據(jù)在 / 不在容器中
str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
print('h' in str1)
print('h' not in str1)
print(1 in list1)
print(1 not in list1)
print(7 in t1)
print(7 not in t1)
公共方法
函數(shù) | 描述 |
---|---|
len() | 計(jì)算容器中元素的個(gè)數(shù) |
del 或 del() | 刪除 |
max() | 返回容器中元素最大值 |
min() | 返回容器中元素最小值 |
range(start,end,step) | 生成從start到end(不包括end),步長(zhǎng)為step的數(shù)字,供for循環(huán)使用 |
enumerate() | 函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for 循環(huán)當(dāng)中。 |
len()
len方法返回序列中元素的個(gè)數(shù)。
str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
print(len(str1))
print(len(list1))
print(len(t1))
del / del()
del 或 del() 用來刪除序列或者序列中的元素。
str1 = 'hello'
del str1
print(str1)
list1 = [1,2,3]
del(list1[0])
print(list1)
注意 python 字符串和元組是不可變類型,要想刪除只能刪除全部,不能單獨(dú)刪除其中的某個(gè)數(shù)據(jù)。
max()
max返回容器中最大的元素
str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
print(max(str1))
print(max(list1))
print(max(t1))
min()
min方法容器中最小的元素
str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
print(min(str1))
print(min(list1))
print(min(t1))
range()
range方法生成從start開始到end(不包括end)的步長(zhǎng)為step的數(shù)字,供fro循環(huán)使用。
for i in range(0,10,1):
print(i,end = '\t')
for i in range(0,10,2):
print(i,end = '\t')
當(dāng)省略start時(shí),默認(rèn)從0開始,省略步長(zhǎng),默認(rèn)步長(zhǎng)為1。
for i in range(10):
print(i,end = '\t')
enumerate()
enumerate(可遍歷對(duì)象,start = 0)
函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for 循環(huán)當(dāng)中。
list1 = ['a','b','c','d','e']
for i in enumerate(list1):
print(i)
list1 = ['a','b','c','d','e']
for index,i in enumerate(list1,start = 1):
print(f'下標(biāo)是:{index},對(duì)應(yīng)字符是:{i}')
容器類型轉(zhuǎn)換
1)list() 將某個(gè)序列轉(zhuǎn)化為列表
str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
set1 = {80,90,100}
print(list(str1))
print(list(t1))
print(list(set1))
tuple() 將某個(gè)序列轉(zhuǎn)換為元組
str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
set1 = {80,90,100}
print(tuple(str1))
print(tuple(list1))
print(tuple(set1))
set() 將某個(gè)序列轉(zhuǎn)換為集合
str1 = 'hello'
list1 = [1,2,3,1]
t1 = (4,5,6,6)
set1 = {80,90,100}
print(set(str1))
print(set(list1))
print(set(t1))
因?yàn)榧暇哂腥ブ毓δ?,所以在轉(zhuǎn)換為集合的時(shí)候,會(huì)對(duì)里面的數(shù)據(jù)進(jìn)行去重。
推導(dǎo)式
在Python中,推導(dǎo)式(comprehension)是一種從一個(gè)或多個(gè)迭代器快速創(chuàng)建可迭代數(shù)據(jù)對(duì)象的方式,如列表、字典、集合等。
推導(dǎo)式極大地簡(jiǎn)化了代碼,有助于讀寫簡(jiǎn)潔而高效的Python代碼,并且在性能上優(yōu)于傳統(tǒng)的for循環(huán)。
本篇博客中,我將為大家說明列表推導(dǎo)式、字典推導(dǎo)式和集合推導(dǎo)式。
列表推導(dǎo)式
我們生成一個(gè) 0-10 的列表。
我們先看看如何使用原始循環(huán)方式來生成。
# 先創(chuàng)建一個(gè)空列表
list1 = []
for i in range(11):
list1.append(i)
print(list1)
使用遞推公式生成。
list1 = [i for i in range(11)]
print(list1)
這樣一看,很明顯,對(duì)推公式的代碼簡(jiǎn)潔的很多。
不僅如此,遞推公式還可以使用 if 條件來進(jìn)行篩選。
if 條件篩選
生成0 - 10之間偶數(shù)組成的列表。
list1 = [i for i in range(11) if i % 2 == 0]
print(list1)
遞推公式還可以使用多個(gè) for 循環(huán)。
list1 = [(i,j) for i in range(1,3) for j in range(4)]
print(list1)
字典遞推式
生成一個(gè)簡(jiǎn)單的字典,key為1-5之間的數(shù)字,value為對(duì)應(yīng)的數(shù)字的平方。
dict1 = {i:i**2 for i in range(1,6)}
print(dict1)
快速合并兩個(gè)列表
list1 = ['name','age','gender']
list2 = ['zhangsan',18,'man']
dict1 = {list1[i]:list2[i] for i in range(len(list1))}
print(dict1)
當(dāng)兩個(gè)列表的長(zhǎng)度不相同時(shí),應(yīng)該以長(zhǎng)度較短的列表的長(zhǎng)度作為range的參數(shù),否則會(huì)導(dǎo)致另一個(gè)列表下標(biāo)越界。文章來源:http://www.zghlxwxcb.cn/news/detail-551869.html
集合推導(dǎo)式
list1 = {2,2,3,4,5}
set1 = {i**2 for i in list1}
print(set1)
時(shí)刻記住集合具有去重的特性。文章來源地址http://www.zghlxwxcb.cn/news/detail-551869.html
到了這里,關(guān)于Python黑魔法揭秘:超強(qiáng)公共操作符和推導(dǎo)式的編程技巧的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!