五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

python進階從青銅到王者一定會用上的Python技巧

發(fā)布日期:2021-12-31 16:48 | 文章來源:站長之家

每個案例都有兩種解決方法,第一種方法相對小白,第二種方法則是屬于有經(jīng)驗的高手寫法。

下面有請青銅和王者兩位選手進場。各位同學(xué)請對號入座~

1.如何判斷一個列表中的數(shù)值是否全部小于某個數(shù)

# 1.判斷一個列表中的數(shù)值是否全部小于某個數(shù)
num = 10
list1 = [1, 1, 5, 5, 7, 1]
# 青銅選手
index = 0
for n in list1:
 if n < num :
  index += 1
  continue
 else:
  print("青銅選手", False)
  break
if index == len(list1):
 print("青銅選手", True)
# 王者選手
print("王者選手", all(map(lambda x: x < num, list1)))

青銅選手:最直觀的方法,一個個遍歷去判斷列表中的元素是不是小于某個數(shù)值,太簡單啦。

王者選手 :利用兩個Python內(nèi)置函數(shù)+Python匿名函數(shù),一行代碼即可輕松的解決。so easy~

2.如何對列表中的字符串按照特定要求進行排序

# 2.對列表中的字符串按照特定要求進行排序
list2 = ["low", "irving", "james", "durant"]
def first_c(str1):
 return ord(str1[0])
# 青銅選手 冒泡排序
for i in range(len(list2)):
 for j in range(len(list2) - i - 1):
  if len(list2[j]) > len(list2[j+1]):
list2[j], list2[j+1] = list2[j+1], list2[j]
print("青銅選手:", list2)
# 王者選手
print("王者選手:", sorted(list2, key=len))
print("按首字母排序:", sorted(list2, key=first_c))

青銅選手:列表中的字符串排序算法就可以搞定啦,例如最經(jīng)典的冒泡排序,腫么樣?

王者選手:利用內(nèi)置函數(shù)sorted一行代碼就解決。不僅如此,對于排序的關(guān)鍵詞指定方面,我還能自己設(shè)置排序的函數(shù),例如上面的firstC函數(shù),按照字符串的首字母進行排序。羨慕不?

3.如何實現(xiàn)按照鍵或者數(shù)值對字典進行排序

# 3.按照鍵或者數(shù)值對字典進行排序
dict3 = {"low" : 3, "irving": 6, "james": 1, "durant": 4}
# 青銅選手
list3 = sorted(dict3.items(), key=lambda x: x[0])
dict3_keys = {i:j for i, j in list3}
print("青銅選手 按鍵排序:", dict3_keys)
list3 = sorted(dict3.items(), key=lambda x: x[1])
dict3_values = {i:j for i, j in list3}
print("青銅選手按值排序:", dict3_values)
#王者選手
dict3_keys = {key: dict3[key] for key in sorted(dict3)}
print("王者選手按鍵排序:", dict3_keys)
dict3_values = {key: dict3[key] for key in sorted(dict3, key=dict3.get)}
print("王者選手按值排序:", dict3_values)

青銅選手:這次我用了sorted內(nèi)置函數(shù)進行排序后,再轉(zhuǎn)換成字典形式。兩行代碼搞定!

王者選手:青銅選手你的方法在轉(zhuǎn)換的過程中會造成空間資源浪費。我直接利用了對于鍵或者值進行排序,再利用排序后的鍵或者是值來構(gòu)造最終的字典,且程序簡潔。

4.怎么將列表中的數(shù)字轉(zhuǎn)換成字符串

# 4.將列表中的數(shù)字轉(zhuǎn)換成字符串
list4 = [1, 3, 5, 7, 12, 6]
#青銅選手 直接轉(zhuǎn)換
list_str4 = [str(i) for i in list4]
print("青銅選手:", list_str4)
#王者選手 利用map函數(shù)
list_str4 = list(map(str, list4))
print("王者選手:", list_str4)

青銅選手:我用的是列表解析方案,通過循環(huán)迭代的方式產(chǎn)生新的列表。這次夠簡潔,也不浪費空間了吧~~

王者選手:我利用了map內(nèi)置函數(shù),將列表中的數(shù)字轉(zhuǎn)換為字符串。這次咱們算打平吧!

5.如何判斷列表中的元素是否都屬于一個類型

# 5.判斷列表中的元素是否都屬于一個類型
list5 = ['1', '3', '5', '7', '12', '6']
# 青銅選手 逐一判斷每個元素
index = 0
for element in list5:
 if not isinstance(element, str):
  print("青銅選手:", False)
  break
 index += 1
if index == len(list5):
 print("青銅選手:", True)
# 王者選手
def checkStr(x):
 if isinstance(x, str):
  return True
 else:
  return False
print("王者選手:", all(list(map(checkStr, list5))))

青銅選手:這次我用的方法是逐個的判斷列表中的每一個元素,如果有任一個元素不是字符串,則輸出False。當全部循環(huán)結(jié)束后,如果index數(shù)值等于列表總長度,則輸出True。

王者選手:利用map函數(shù)來判斷列表中的每個元素是否滿足函數(shù)checkStr。利用all函數(shù)來得到最終的結(jié)果。這不是更簡單?

6.列表怎么反轉(zhuǎn)呢

# 6.反轉(zhuǎn)列表
list6 = ['1', '3', '5', '7', '12', '6']
# 青銅選手
new_list6 = []
for i in range(len(list6)-1, -1, -1):
 new_list6.append(list6[i])
print("青銅選手:", new_list6)
# 王者選手
print("王者選手:", list6[::-1])
list6.reverse()
print("王者選手:", list6)

青銅選手:創(chuàng)建一個新的列表對象,并將list6中的元素按照從后向前的方式添加到新列表中。

王者選手:我有兩種方式喔,第一種方式是利用列表切片的方法,獲取反轉(zhuǎn)的列表。第二種方式是利用列表的reverse函數(shù),但是reverse函數(shù)只能在原列表中進行修改,不能創(chuàng)建一個新的列表。Yeah~~

7.如何從可迭代對象中隨機選擇一個元素

# 7.從可迭代對象中隨機選擇一個元素
import random
random.seed(0)
list7 = ['6', '12', '7', '5', '3', '1']
tuple7 = ("low", "irving", "james", "durant")
print(random.choice(list7))
print(random.choices(tuple7, k=3))
print(random.sample(list7, k=2))

青銅選手:我不會,交白卷了只能。。。

王者選手:小青同學(xué),搬好凳子認真聽講吧!在Python中進行隨機數(shù)值的選擇,可以利用Python的內(nèi)置庫random,上面函數(shù)中,choice函數(shù)是從列表中隨機選擇一個數(shù)值,choices函數(shù)又放回的選擇k個數(shù)值,sample則是無放回的選擇k個數(shù)值。一共三張姿勢喔,學(xué)會了嗎?

8.怎么利用列表創(chuàng)建字典

# 8.利用列表創(chuàng)建字典
list8_1 = ["low", "irving", "james", "durant"]
list8_2 = [3, 6, 7, 2]
list8_3 = [5, 8, 1, 3]
#青銅選手
dict8 = {}
for i in range(len(list8_1)):
 dict8[list8_1[i]] = list8_2[i]
print("青銅選手:", dict8)
#王者選手
dict8 = dict(zip(list8_1, list8_2))
dict8_2 = dict(zip(list8_1, zip(list8_2, list8_3)))
print("王者選手:", dict8)
print("王者選手:", dict8_2)

青銅選手:用列表創(chuàng)建字典,再利用for循環(huán)的方式,在字典中創(chuàng)建鍵值對的item。這次我會!

王者選手:利用zip內(nèi)置函數(shù),創(chuàng)建一個zip對象,并利用dict函數(shù)將zip對象轉(zhuǎn)化為字典,一行代碼搞定。完勝!

9.篩選出以元音字母開頭的字符串

# 9.篩選出以元音字母開頭的字符串
list9 = ["low", "irving", "james", "durant", "allen"]
#青銅選手
new_list9 = []
for name in list9:
 if name[0].lower() in "aeiou":
  new_list9.append(name)
print("青銅選手:", new_list9)
print("王者選手:", list(filter(lambda x: x.lower().startswith(('a', 'e', 'i', 'o', 'u')), list9)))
print("王者選手:", [name for name in list9 if name[0] in 'aeiouAEIOU'])

青銅選手:對于list9中的每個字符串元素進行判斷處理,如果字符串的第一個字母是原因字母,則將該字符串添加到新的列表new_list9中。

王者選手:直接利用列表解析或者是通過filter函數(shù)來過濾list9中滿足匿名函數(shù)的元素,相比于map函數(shù),filter函數(shù)能夠直接過濾出來滿足條件的元素值。這不是更簡單嘛~~

10.創(chuàng)建一個計數(shù)字典的方法

# 10.創(chuàng)建一個計數(shù)字典
from collections import Counter
list10 = ["low", "irving", "james", "durant", "allen",  "irving", "james", "allen", "durant", "durant"]
#青銅選手
dict10 = {name:0 for name in set(list10)}
for name in list10:
 if name in dict10:
  dict10[name] += 1
 else:
  dict10[name] = 1
print("青銅選手:", dict10)
# 王者選手
print("王者選手:", dict(Counter(list10)))

青銅選手:首先創(chuàng)建一個字典,字典的鍵包含了list10中所有出現(xiàn)過的元素,然后逐一統(tǒng)計列表中元素出現(xiàn)的次數(shù)。這不就行了?

王者選手:借用collections庫中的Counter類,直接統(tǒng)計list10中元素的個數(shù),然后利用dict函數(shù)來講Counter對象轉(zhuǎn)化為字典對象。

如果本篇博客有任何錯誤,請批評指教,不勝感激 !

以上就是python進階從青銅到王者一定會用上的Python技巧的詳細內(nèi)容,更多關(guān)于Python進階技巧的資料請關(guān)注本站其它相關(guān)文章!

版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部