Python プログラミングについて知っておくべき 12 の重要なコード スニペット

WBOY
リリース: 2023-04-26 15:52:08
転載
1778 人が閲覧しました

12 个用于日常编程的杀手级 Python 代码片段

1. 正規表現

正規表現は、パターンの一致、文字列の検索と置換、文字列の検証などを行うための Python の最良のテクノロジです。この種の作業にループやリストを使用する必要はなくなりました。

電子メール形式を検証するための次の正規表現スニペット コード例を確認してください:

# Regular Expression Check Mail
import re
def Check_Mail(email):
 pattern = re.compile(r'([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(.[A-Z|a-z]{2,})+')
 if re.fullmatch(pattern, email):
 print("valid")
 else:
 print("Invalid")
Check_Mail("codedev101@gmail.com") #valid
Check_Mail("codedev101-haider@uni.edu")#Invalid
Check_Mail("code-101-work@my.net") # Invalid
ログイン後にコピー

2、プロ スライシング

この単純なコード スニペットは、次の場合に役立ちます。プロのようにリストをスライスします。以下のサンプル コードを確認してください:

# Pro Slicing
# list[start:end:step]
mylist = [1, 2, 3, 5, 5, 6, 7, 8, 9, 12]
mail ="codedev-medium@example.com"
print(mylist[4:-3]) # 5 6 7
print(mail[8 : 14]) # medium
ログイン後にコピー

3. Temp を使用しない交換

Python では使用する必要がないため、2 つのデータを交換するために Temp 変数を使用していますか? ?このコード スニペットでは、temp を使用せずに 2 つのデータ変数を交換する方法を共有します。

以下のコードをご覧ください:

# Swap without Temp
i = 134
j = 431
[i, j] = [j, i]
print(i) #431
print(j) #134
ログイン後にコピー

4. F 文字列の魔法

format() メソッドまたは "%" を使用できます。メソッドをフォーマット文字列の変数に追加します。このコードは、他の形式よりもはるかに優れた F 文字列を紹介します。

以下のサンプル コードをご覧ください:

# Magic of f-String
# Normal Method
name = "Codedev"
lang = "Python"
data = "{} is writing article on {}".format(name, lang)
print(data)
# Pro Method with f-string
data = f"{name} is writing article on {lang}"
print(data
ログイン後にコピー

5. インデックスの取得

これで、インデックスを見つけるためにループは必要なくなりました。特定の要素。これは、リストのindex()メソッドを使用して行うことができます。

以下のコードを見てください:

# Get Index
x = [10 ,20, 30, 40, 50]
print(x.index(10)) # 0
print(x.index(30)) # 4
print(x.index(50)) # 2
ログイン後にコピー

6. 別のリストに基づいて並べ替えられたリスト

このコード スニペットは、リストを並べ替える方法を示します。別のリストに基づいてリストを並べ替えます。このスニペットは、目的の位置に基づいて並べ替える必要がある場合に非常に便利です。

# Sort List based on another List
list1 =["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m"]
list2 = [ 0, 1, 1, 1, 2, 2, 0, 1, 1, 3, 4]
C = [x for _, x in sorted(zip(list2, list1), key=lambda pair: pair[0])]
print(C) # ['a', 'g', 'b', 'c', 'd', 'h', 'i', 'e', 'f', 'j', 'k']
ログイン後にコピー

7. 辞書の逆引き

これで、辞書を逆引きするためにループする必要はなくなりました。このスニペット コードが 2 回目に試行されると、辞書が逆になります。

# Invert the Dictionary
def Invert_Dictionary(data):
 return{value: key for key, value in data.items()}
data = {"A": 1, "B":2, "C": 3}
invert = Invert_Dictionary(data)
print(invert) # {1: 'A', 2: 'B', 3: 'C'}
ログイン後にコピー

8. マルチスレッド

マルチスレッドは、Python 関数を同時に並列実行するのに役立ちます。各関数の完了を待たずに、5 つの関数を同時に実行したいとします。

次のコード スニペットを表示します:

# Multi-threading
import threading
def func(num):
 for x in range(num):
 print(x)
if __name__ == "__main__":
 t1 = threading.Thread(target=func, args=(10,))
 t2 = threading.Thread(target=func, args=(20,))
 t1.start()
 t2.start()
 t1.join()
 t2.join()
ログイン後にコピー

9。リストに最も多く表示される要素

このコード スニペットは単に数をカウントします。リスト内のほとんどの要素の出現数。これを行う 2 つの方法を示しました。

以下をチェックしてください:

# Element Occur most in List
from collections import Counter
mylst = ["a", "a", "b", "c", "a", "b","b", "c", "d", "a"]
# Method 1
def occur_most1(mylst):
 return max(set(mylst), key=mylst.count)
print(occur_most1(mylst)) # a
# Method 2
# Much Faster then Method 1
def occur_most2(mylst):
 data = Counter(mylst)
 return data.most_common(1)[0][0]
print(occur_most2(mylst)) # a
ログイン後にコピー

10. 行の分割

プログレッシブ形式の生のテキストがあり、それを複数の行に分割したいと考えています。このコード スニペットは、ほんの 1 秒で問題を解決します。

# Split lines
data1 = """Hello to
Python"""
data2 = """Programming
Langauges"""
print(data1.split("n")) # ['Hello to', 'Python']
print(data2.split("n")) # ['Programming', ' Langauges']
ログイン後にコピー

11. リストから辞書へのマッピング

このコード スニペットは、任意の 2 つのリストを辞書形式に変換するのに役立ちます。仕組みを理解するには、以下のコードを見てください:

# Map List into Dictionary
def Convert_to_Dict(k, v):
 return dict(zip(k, v))
k = ["a", "b", "c", "d", "e"]
v = [1, 2, 3, 4, 5]
print(Convert_to_Dict(k, v)) # {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
ログイン後にコピー

12. スプレッドシートの解析

これで、解析するために Pandas やその他の外部 Python パッケージは必要なくなります。スプレッドシート 。 Python には CSV モジュールが組み込まれており、このコードはその使用方法を示します。

うわー

以上がPython プログラミングについて知っておくべき 12 の重要なコード スニペットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート