久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

18個(gè)Python腳本幫助你更快地編寫代碼

 CHENYUMEN 2023-08-02 發(fā)布于云南

18個(gè)Python腳本幫助你更快地編寫代碼 

Python是一種沒(méi)有BS的編程語(yǔ)言,。設(shè)計(jì)的可讀性和簡(jiǎn)單性是它大受歡迎的兩個(gè)最大原因,。

這就是為什么值得記住一些常見(jiàn)的Python技巧來(lái)幫助改善你的代碼設(shè)計(jì)。這些將省去你每次需要做什么的時(shí)候都要瀏覽 Stack Overflow 的麻煩,。以下技巧將在你的日常編碼練習(xí)中證明是很方便的,。

  1. 尋找字符串中的獨(dú)特元素

  2. 使用標(biāo)題大小寫(首字母大寫)。

  3. 反轉(zhuǎn)一個(gè)字符串

  4. 打印一個(gè)字符串或一個(gè)列表n次

  5. 將一個(gè)字符串列表合并為一個(gè)字符串

  6. 在兩個(gè)變量之間互換值

  7. 將一個(gè)字符串分割成一個(gè)子字符串列表

  8. 列表的理解

  9. 檢查一個(gè)給定的字符串是否是帕林多姆(Palindrome),。

  10. 使用枚舉法來(lái)獲取索引/值對(duì)

  11. 查找兩個(gè)字符串是否是相克的

  12. 使用try-except-else塊

  13. 列表中元素的頻率

  14. 檢查一個(gè)對(duì)象的內(nèi)存使用情況

  15. 從列表中取樣

  16. 執(zhí)行一段代碼所需的時(shí)間

  17. 扁平化列表的列表

  18. 合并兩個(gè)字典

  19. 尋找一個(gè)字符串中的唯一元素 下面的片段可以用來(lái)尋找一個(gè)字符串中的所有唯一元素,。我們使用一個(gè)集合中的所有元素都是唯一的這個(gè)屬性。

my_string = 'aavvccccddddeee'

將字符串轉(zhuǎn)換為一個(gè)集合

temp_set = set(my_string)

使用join將集合縫合成一個(gè)字符串

new_string = ''.join(temp_set)

print(new_string)
  1. 使用rhe標(biāo)題大小寫(首字母大寫) 下面的片段可以用來(lái)將一個(gè)字符串轉(zhuǎn)換為標(biāo)題大小寫,。這是用字符串類的title()方法完成的,。

my_string = 'my name is chaitanya baweja'

# using the title() function of string class
new_string = my_string.title()

print(new_string)

# Output
# My Name Is Chaitanya Baweja
  1. 反轉(zhuǎn)一個(gè)字符串 下面的片段使用Python的切片操作來(lái)反轉(zhuǎn)一個(gè)字符串。

# 用切片法反轉(zhuǎn)一個(gè)字符串

my_string = 'ABCDE'
reversed_string = my_string[::-1] ,。

print(reversed_string)

# 輸出
# EDCBA
  1. 打印一個(gè)字符串或一個(gè)列表n次 你可以對(duì)字符串或列表使用乘法(*),。這使得我們可以隨心所欲地將它們相乘。
n = 3 # 重復(fù)的次數(shù)

my_string = 'abcd'
my_list = [1,2,3]

print(my_string*n)
# abcdabcdabcd

print(my_list*n)
# [1,2,3,1,2,3,1,2,3]

一個(gè)有趣的用例是用一個(gè)常量值來(lái)定義一個(gè)列表--比方說(shuō)零,。

n = 4
my_list = [0]*n # n表示所需列表的長(zhǎng)度
# [0, 0, 0, 0]
  1. 將一個(gè)字符串列表合并成一個(gè)字符串join()方法將一個(gè)作為參數(shù)傳遞的字符串列表合并為一個(gè)字符串,。在我們的例子中,我們用逗號(hào)分隔符把它們分開(kāi),。
list_of_strings = ['My''name''is''Chaitanya''Baweja']

# 使用帶有逗號(hào)分隔符的連接
print(','.join(list_of_strings))
#輸出
# 我的名字是Chaitanya,Baweja
My,name,is,Chaitanya,Baweja
  1. 在兩個(gè)變量之間互換數(shù)值

Python使得在兩個(gè)變量之間交換數(shù)值變得非常簡(jiǎn)單,,不需要使用另一個(gè)變量。


a = 1
b = 2

a, b = b, a

print(a) # 2
print(b) # 1
  1. 將一個(gè)字符串分割成一個(gè)子串的列表 我們可以使用字符串類中的.split()方法將一個(gè)字符串分割成一個(gè)子字符串的列表,。你也可以把你希望分割的分隔符作為參數(shù)傳給他,。

string_1 = 'My name is Chaitanya Baweja''
string_2 = '
sample/ string 2'

# 默認(rèn)的分隔符 ''
print(string_1.split())
# ['我的', '名字', '是', 'Chaitanya', 'Baweja']
['My', 'name', 'is', 'Chaitanya', 'Baweja']

# 定義分隔符為'/'
print(string_2.split('/'))
# ['樣本', '字符串2']
['sample', ' string 2']
  1. 列表理解

列表理解為我們提供了一種基于其他列表創(chuàng)建列表的優(yōu)雅方式,。下面的代碼段通過(guò)將舊列表中的每個(gè)元素乘以2來(lái)創(chuàng)建一個(gè)新列表。

# 將一個(gè)列表中的每個(gè)元素乘以2

original_list = [1,2,3,4]

new_list = [2*x for x in original_list]

print(new_list)
# [2,4,6,8]
  1. 檢查一個(gè)給定的字符串是否是帕林陀羅

我們已經(jīng)討論過(guò)如何逆轉(zhuǎn)一個(gè)字符串,。因此,,在Python中,回文成為一個(gè)簡(jiǎn)單的程序,。


my_string = 'abcba'

if my_string == my_string[::-1]:
    print('palindrome')
else:
    print('not palindrome')

# Output
palindrome # 回文
  1. 使用枚舉法來(lái)獲取索引/值對(duì)

下面的腳本使用enumerate來(lái)遍歷一個(gè)列表中的值以及它們的索引,。


my_list = ['a''b''c''d''e']

for index, value in enumerate(my_list):
    print('{0}: {1}'.format(index, value))

# 0: a
# 1: b
# 2: c
# 3: d
# 4: e
  1. 查找兩個(gè)字符串是否是同音異義詞

Counter類的一個(gè)有趣的應(yīng)用是尋找變形詞。縮略語(yǔ)是通過(guò)重新排列不同單詞或短語(yǔ)的字母而形成的一個(gè)單詞或短語(yǔ),。如果兩個(gè)字符串的Counter對(duì)象相等,,那么它們就是同音異義詞。
from collections import Counter

str_1, str_2, str_3 = 'acbde''abced''abcda'
cnt_1, cnt_2, cnt_3  = Counter(str_1), Counter(str_2), Counter(str_3)

if cnt_1 == cnt_2:
    print('1 and 2 anagram')
if cnt_1 == cnt_3:
    print('1 and 3 anagram')
  1. 使用 try-except-else 

Python中的錯(cuò)誤處理可以使用try/except塊輕松完成,。在這個(gè)塊中添加一個(gè)else語(yǔ)句可能是有用的,。當(dāng) try 塊中沒(méi)有出現(xiàn)異常時(shí),它就會(huì)運(yùn)行,。如果你需要在沒(méi)有異常的情況下運(yùn)行某些東西,,請(qǐng)使用finally。
a, b = 1,0

try:
    print(a/b)
    # exception raised when b is 0
except ZeroDivisionError:
    print('division by zero')
else:
    print('no exceptions raised')
finally:
    print('Run this always')

講解

a, b = 1,0

試試:
    print(a/b)
    # 當(dāng)b為0時(shí)引發(fā)異常
except ZeroDivisionError:
    print('除以零')
否則:
    print('沒(méi)有出現(xiàn)異常')
最后:
    print('一直運(yùn)行這個(gè)')
  1. 列表中元素的頻率 有多種方法可以做到這一點(diǎn),,但我最喜歡的是使用Python計(jì)數(shù)器類,。Python計(jì)數(shù)器記錄了容器中每個(gè)元素的頻率。

    Counter() 返回一個(gè)以元素為鍵,、以頻率為值的字典,。我們還使用most_common()函數(shù)來(lái)獲取列表中最頻繁的元素。


# 找到列表中每個(gè)元素的頻率
from collections import Counter

my_list = ['a','a','b','b','c','d','d','d'],。
count = Counter(my_list) # 定義一個(gè)計(jì)數(shù)器對(duì)象

print(count) # 所有元素的
# Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1})

print(count['b']) # 每個(gè)元素的
# 3

print(count.most_common(1)) # 最常見(jiàn)的元素
# [('d', 5)]
  1. 檢查一個(gè)對(duì)象的內(nèi)存使用情況 下面的腳本可以用來(lái)檢查一個(gè)對(duì)象的內(nèi)存使用情況,。
import sys
num = 21
print(sys.getsizeof(num))
# In Python 2, 24
# In Python 3, 28
  1. 從一個(gè)列表中取樣 下面的片段使用隨機(jī)庫(kù)從一個(gè)給定的列表中生成n個(gè)隨機(jī)樣本。
import random
my_list = ['a''b''c''d''e']
num_samples = 2

samples = random.sample(my_list,num_samples)
print(samples)
# [ 'a', 'e'] this will have any 2 random values

我被推薦使用secrets庫(kù)來(lái)生成用于加密的隨機(jī)樣本,。下面的代碼段將在 只適用于Python 3,。


import secrets # imports secure module.
secure_random = secrets.SystemRandom() # 創(chuàng)建一個(gè)安全隨機(jī)對(duì)象。

my_list = ['a''b''c''d''e']
num_samples = 2

samples = secure_random.sample(my_list, num_samples)

print(samples)
# ['e', 'd'] 這將有任意2個(gè)隨機(jī)值
  1. 執(zhí)行一段代碼所需的時(shí)間

下面的片段使用時(shí)間庫(kù)來(lái)計(jì)算執(zhí)行一段代碼所需的時(shí)間,。
#輸入時(shí)間
import time
start_time = time.time()
# 要檢查的代碼如下
a, b = 1,2
c = a+ b
# 檢查結(jié)束的代碼
end_time = time.time()
time_taken_in_micro = (end_time- start_time)*(10**6)

print(' time taken in micro_seconds: {0} ms').format(time_taken_in_micro)
  1. 扁平化一個(gè)列表

有時(shí)你不確定你的列表的嵌套深度,,你只想把所有的元素放在一個(gè)單一的扁平列表中。這里是你如何得到的,。

from iteration_utilities import deepflatten

# 如果你只有一個(gè)深度的嵌套列表,,使用這個(gè)方法
def flatten(l):
  返回 [item for sublist in l for item in sublist]

l = [[1,2,3],[3]]
print(flatten(l))
# [1, 2, 3, 3]

# 如果你不知道列表的嵌套深度
l = [[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]]

print(list(deepflatten(l, depth=3))
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

如果你有一個(gè)正確格式化的數(shù)組,Numpy flatten是一個(gè)更好的方法,。

  1. 合并兩個(gè)字典
在Python 2中,,我們使用update()方法來(lái)合并兩個(gè)字典;Python 3.5使這個(gè)過(guò)程更加簡(jiǎn)單,。在下面的腳本中,,兩個(gè)字典被合并了。
在相交的情況下,,使用第二個(gè)字典的值,。
dict_1 = {'apple': 9, 'banana': 6}
dict_2 = {'banana': 4, 'orange': 8}

combined_dict = {**dict_1, **dict_2}

print(combined_dict)
# Output
# {'apple': 9, 'banana': 4, 'orange': 8}
Thanks for reading !

謝謝你的閱讀 !

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多