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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

你应该学习的 20 个 Python 代码段

發布時間:2025/3/16 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你应该学习的 20 个 Python 代码段 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者丨Chaitanya Baweja

譯者丨王文剛

策劃丨萬佳

Python 是一門優秀的編程語言??勺x性和設計簡單性是其廣受歡迎的兩個主要原因。

正如 Python 的禪宗所說:

美麗勝于丑陋。

明了勝于晦澀。

這就是為什么值得記住一些常見的 Python 技巧,可以幫助改善代碼設計, 并為您節省大量時間。

在您的日常編碼中,以下技巧將非常有用。

1 字符串倒轉

以下代碼段使用 Python 切片操作反轉字符串。

# Reversing a string using slicing my_string = "ABCDE" reversed_string = my_string[::-1] print(reversed_string) # Output #?EDCBA 2 首字母大寫

以下代碼段可用于將字符串轉換為標題首字母大寫。這是使用 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 3 在字符串中查找唯一元素

以下代碼段可用于查找字符串中所有的唯一元素。我們使用集合中唯一元素。

my_string = "aavvccccddddeee" # converting the string to a set temp_set = set(my_string) # stitching set into a string using join new_string = ''.join(temp_set) print(new_string) 4 n 次打印字符串或列表

您可以對字符串或列表使用乘法(*)。我們可以將它們任意復制。

n = 3 # number of repetitions 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]

一個有趣的用例是定義一個具有恒定值的列表——假設為零。

n = 4 my_list = [0]*n # n denotes the length of the required list #?[0,?0,?0,?0] 5 列表推導式

列表推導式為我們提供了一種在其他列表基礎上創建列表的好方法。

以下代碼段通過將舊列表的每個元素乘以 2 來創建新列表。

# Multiplying each element in a list by 2 original_list = [1,2,3,4] new_list = [2*x for x in original_list] print(new_list) #?[2,4,6,8] 6 變量交換

Python 在兩個變量之間交換值而不使用另一個變量變得非常簡單。

a = 1 b = 2 a, b = b, a print(a) # 2 print(b)?#?1 7 將字符串拆分為子字符串列表

我們可以使用字符串類中的.split()方法將字符串拆分為子字符串列表,還可以將要分割的分隔符作為參數傳遞。

string_1 = "My name is Chaitanya Baweja" string_2 = "sample/ string 2" # default separator ' ' print(string_1.split()) # ['My', 'name', 'is', 'Chaitanya', 'Baweja'] # defining separator as '/' print(string_2.split('/')) #?['sample',?'?string?2'] 8 將字符串列表組合成單個字符串

join()將作為參數傳遞的字符串列表組合為單個字符串。這種情況下,我們使用逗號分隔符將它們分開。

list_of_strings = ['My', 'name', 'is', 'Chaitanya', 'Baweja'] # Using join with the comma separator print(','.join(list_of_strings)) # Output #?My,name,is,Chaitanya,Baweja 9 檢查回文字符串

我們已經討論過如何反轉字符串,因此回文字符串成為 Python 中一個簡單的程序。

my_string = "abcba" if my_string == my_string[::-1]: print("palindrome") else: print("not palindrome") # Output #?palindrom 10 列表中的元素統計

這樣做有多種方法,但是我最喜歡的是使用 Python Counter 類。

Python 計數器跟蹤容器中每個元素的頻率, Counter()返回一個字典,其中元素作為鍵,頻率作為值。

我們還使用 most_common()函數來獲取列表中的 most_frequent 元素。

# finding frequency of each element in a list from collections import Counter my_list = ['a','a','b','b','b','c','d','d','d','d','d'] count = Counter(my_list) # defining a counter object print(count) # Of all elements # Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1}) print(count['b']) # of individual element # 3 print(count.most_common(1)) # most frequent element #?[('d',?5)] 11 查找兩個字符串是否為字母

Counter 類的一個有趣應用是查找字謎。

字謎是通過重新排列不同單詞或短語的字母而形成的單詞或短語。

如果兩個字符串的 Counter 對象相等,那么它們就是字謎。

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') 12 使用 try-except-else 塊

使用 try / except 塊可以輕松完成 Python 中的錯誤處理,向該塊添加 else 語句可能會很有用,在 try 塊中沒有引發異常的情況下運行。

如果您需要運行某些程序,無需考慮異常,請繼續使用。

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" 13 使用枚舉獲取索引 / 值對

以下腳本使用枚舉遍歷列表中的值及其索引。

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 14 檢查對象的內存使用情況

以下腳本可用于檢查對象的內存使用情況, 這里可以了解更多信息。

import sys num = 21 print(sys.getsizeof(num)) # In Python 2, 24 #?In?Python?3,?28 15 合并兩個字典

在 Python 2 中,我們使用了 update()方法來合并兩個字典, Python 3.5 使這一過程變得更加簡單。

在下面給出的腳本中,兩個字典被合并。在相交的情況下,使用第二個字典中的值。

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} 16 執行一段代碼所需的時間

以下代碼片段使用庫函數來計算執行代碼所需的時間消耗。

import time start_time = time.time() # Code to check follows a, b = 1,2 c = a+ b # Code to check ends 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) 17 展平列表清單

有時,您不確定列表的嵌套深度,只希望將所有元素放在一個平面列表中。

您可以通過以下方式獲得該信息:

from iteration_utilities import deepflatten # if you only have one depth nested_list, use this def flatten(l): return [item for sublist in l for item in sublist] l = [[1,2,3],[3]] print(flatten(l)) # [1, 2, 3, 3] # if you don't know how deep the list is nested 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]

如果您具有正確格式化的數組,那 Numpy Flatten 是執行此操作的更好方法。

18 從列表中隨機取樣

以下代碼段使用隨機庫從給定列表中生成了 n 個隨機樣本。

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

我一直推薦秘密庫生成隨機樣本進行加密, 以下代碼段僅適用于 Python 3。

import secrets # imports secure module. secure_random = secrets.SystemRandom() # creates a secure random object. my_list = ['a','b','c','d','e'] num_samples = 2 samples = secure_random.sample(my_list, num_samples) print(samples) #?[?'e',?'d']?this?will?have?any?2?random?values 19 數字化

以下代碼段會將整數轉換為數字列表。

num = 123456 # using map list_of_digits = list(map(int, str(num))) print(list_of_digits) # [1, 2, 3, 4, 5, 6] # using list comprehension list_of_digits = [int(x) for x in str(num)] print(list_of_digits) #?[1,?2,?3,?4,?5,?6] 20 檢查唯一性

以下函數將檢查列表中的所有元素是否唯一。

def unique(l): if len(l)==len(set(l)): print("All elements are unique") else: print("List has duplicates") unique([1,2,3,4]) # All elements are unique unique([1,1,2,3]) #?List?has?duplicates 21 結論

這些都是一些代碼簡短片段,我覺得在日常工作是非常有用的,使用 30 秒來試試吧。

感謝您的閱讀, 希望你喜歡。

原文鏈接:

https://medium.com/better-programming/20-python-snippets-you-should-learn-today-8328e26ff124

有道無術,術可成;有術無道,止于術

歡迎大家關注Java之道公眾號

好文章,我在看??

總結

以上是生活随笔為你收集整理的你应该学习的 20 个 Python 代码段的全部內容,希望文章能夠幫你解決所遇到的問題。

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