ホームページ > バックエンド開発 > Python チュートリアル > Python に関する 17 の役立つヒントを共有しましょう。

Python に関する 17 の役立つヒントを共有しましょう。

PHPz
リリース: 2023-04-17 09:22:04
転載
718 人が閲覧しました

Python に関する 17 の役立つヒントを共有しましょう。

#本文

皆さんこんにちは、私はPython人工知能テクノロジーです。

この記事では、最も一般的に使用される Python のトリックについて説明します。これらのテクニックのほとんどは、私が日常の仕事で使用している単純なトリックであり、良いものは皆で共有する必要があると思います。

早速、始めましょう! :)

ヒントの概要

1. ユーザーからの複数の入力の処理

ループや反復を使用するために、ユーザーから複数の入力を取得する必要がある場合があります。一般的な記述方法は次のとおりです:

# bad practice码
n1 = input("enter a number : ")
n2 = input("enter a number : ")
n2 = input("enter a number : ")
print(n1, n2, n3)
ログイン後にコピー

しかし、より良い処理方法は次のとおりです:

# good practice
n1, n2, n3 = input("enter a number : ").split()
print(n1, n2, n3)
ログイン後にコピー

2. 複数の条件文の処理

複数の条件文をチェックする必要がある場合コード内のステートメント。この時点で、all() または any() 関数を使用して目的を達成できます。一般に、複数の and 条件がある場合は all() が使用され、複数の or 条件がある場合は any() が使用されます。このように使用すると、コードがより明確で読みやすくなり、デバッグ時のトラブルを回避するのに役立ちます。

all() の一般的な例は次のとおりです:

size = "lg"
color = "blue"
price = 50
# bad practice
if size == "lg" and color == "blue" and price < 100:
 print("Yes, I want to but the product.")
ログイン後にコピー

より良い処理方法は次のとおりです:

# good practice
conditions = [
 size == "lg",
 color == "blue",
 price < 100,
]
if all(conditions):
 print("Yes, I want to but the product.")
ログイン後にコピー

any() の一般的な例は次のとおりです。

# bad practice
size = "lg"
color = "blue"
price = 50
if size == "lg" or color == "blue" or price < 100:
 print("Yes, I want to but the product.")
ログイン後にコピー

これを処理するより良い方法は次のとおりです:

# good practice
conditions = [
 size == "lg",
 color == "blue",
 price < 100,
]
if any(conditions):
 print("Yes, I want to but the product.")
ログイン後にコピー

3. 数値パリティを決定する

これは実装が簡単で、ユーザーから入力を取得して変換します。それを整数に変換するには、数値 2 を確認します。 の剰余演算。剰余が 0 の場合、それは偶数です。

print('odd' if int(input('Enter a number: '))%2 else 'even')
ログイン後にコピー

4. 変数の交換

Python で変数の値を交換する必要がある場合、操作するための一時変数を定義する必要はありません。一般に、変数交換を実装するには次のコードを使用します:

v1 = 100
v2 = 200
# bad practice
temp = v1
v1 = v2
v2 = temp
ログイン後にコピー

しかし、より良い処理方法は次のとおりです:

v1 = 100
v2 = 200
# good practice
v1, v2 = v2, v1
ログイン後にコピー

5. 文字列が回文文字列であるかどうかを判断します

文字を変更する 文字列を反転する最も簡単な方法は [::-1] で、コードは次のとおりです:

print("John Deo"[::-1])
ログイン後にコピー

6. 文字列を反転する

文字列が回文であるかどうかを判断します。 Python String の場合は、ステートメント

string.find(string[::-1])== 0 を使用するだけです。サンプル コードは次のとおりです:

v1 = "madam" # is a palindrome string
v2 = "master" # is not a palindrome string
print(v1.find(v1[::-1]) == 0) # True
print(v1.find(v2[::-1]) == 0) # False
ログイン後にコピー

7。次の場合は Inline を使用してみてください。ステートメント

ほとんどの場合、条件の後にステートメントは 1 つだけなので、インライン if ステートメントを使用すると、より簡潔なコードを作成できます。たとえば、一般的な記述方法は次のとおりです:

name = "ali"
age = 22
# bad practices
if name:
 print(name)
if name and age > 18:
 print("user is verified")
ログイン後にコピー

しかし、より良い処理方法は次のとおりです:

# a better approach
print(name if name else "")
""" here you have to define the else condition too"""
# good practice
name and print(name)
age > 18 and name and print("user is verified")
ログイン後にコピー

8. リスト内の重複した要素を削除します

私たちはしません。重複要素をチェックするにはリスト List 全体を走査する必要がありますが、単純に set() を使用して重複要素を削除できます。コードは次のとおりです:

lst = [1, 2, 3, 4, 3, 4, 4, 5, 6, 3, 1, 6, 7, 9, 4, 0]
print(lst)
unique_lst = list(set(lst))
print(unique_lst)
ログイン後にコピー

9. リスト内で最も繰り返される要素を見つけます

Python ( ) 関数で max を使用し、list.count をキーとして渡すと、リスト内で最も繰り返しの多い要素を見つけることができます。コードは次のとおりです:

lst = [1, 2, 3, 4, 3, 4, 4, 5, 6, 3, 1, 6, 7, 9, 4, 0]
most_repeated_item = max(lst, key=lst.count)
print(most_repeated_item)
ログイン後にコピー

10. リスト生成

Python での私のお気に入り List Comprehension の機能はリスト内包表記です。この機能により、非常に簡潔で強力なコードを書くことができ、これらのコードは自然言語とほぼ同じくらい理解しやすくなります。例は次のとおりです:

numbers = [1,2,3,4,5,6,7]
evens = [x for x in numbers if x % 2 is 0]
odds = [y for y in numbers if y not in evens]
cities = ['London', 'Dublin', 'Oslo']
def visit(city):
 print("Welcome to "+city)
for city in cities:
 visit(city)
ログイン後にコピー

11. *args を使用して複数のパラメーターを渡します

Python では、*args を使用して複数のパラメーターを関数に渡すことができます。例は次のとおりです:

def sum_of_squares(n1, n2)
 return n1**2 + n2**2
print(sum_of_squares(2,3))
# output: 13
"""
what ever if you want to pass, multiple args to the function
as n number of args. so let's make it dynamic.
"""
def sum_of_squares(*args):
 return sum([item**2 for item in args])
# now you can pass as many parameters as you want
print(sum_of_squares(2, 3, 4))
print(sum_of_squares(2, 3, 4, 5, 6))
ログイン後にコピー

12. ループ中の添字の処理

作業中に、ループ内の要素の添字を取得したいことがありますが、一般的に、より洗練された書き方は次のとおりです。

lst = ["blue", "lightblue", "pink", "orange", "red"]
for idx, item in enumerate(lst):
print(idx, item)
ログイン後にコピー

13. リスト内の複数の要素の結合

Python では、通常、リスト内のすべての要素を結合するために Join() 関数が使用されます。もちろん、結合を追加することもできます。例は次のとおりです:

names = ["john", "sara", "jim", "rock"]
print(", ".join(names))
ログイン後にコピー

14. 2 つの辞書をマージします

さらに、パブリック アカウントの先頭の Python 背景を検索し、「上級」と返信すると、驚きが得られます。ギフトパッケージ。

Python では、{**dict_name, **dict_name2, …} を使用して複数の辞書を結合できます。例は次のとおりです:

d1 = {"v1": 22, "v2": 33}
d2 = {"v2": 44, "v3": 55}
d3 = {**d1, **d2}
print(d3)
ログイン後にコピー

結果は次のとおりです:

{'v1': 22, 'v2': 44, 'v3': 55}
ログイン後にコピー

15 2 つのリストを使用して辞書を生成する

Python では、2 つのリスト内の対応する要素を結合して辞書を作成する必要がある場合、zip 関数を使用して簡単にこれを行うことができます。コードは次のとおりです:

keys = ['a', 'b', 'c']
vals = [1, 2, 3]
zipped = dict(zip(keys, vals))
ログイン後にコピー

16. 値に従って辞書を並べ替えます
Python では、sorted() 関数を使用して、値に従って辞書を並べ替えます。 :

d = {
 "v1": 80,
 "v2": 20,
 "v3": 40,
 "v4": 20,
 "v5": 10,
}
sorted_d = dict(sorted(d.items(), key=lambda item: item[1]))
print(sorted_d)
当然我们也可以使用itemgetter( )来替代上述 lambda函数,代码如下:
from operator import itemgetter
sorted_d = dict(sorted(d.items(), key=itemgetter(1)))
ログイン後にコピー

さらに、 reverse=True:

sorted_d = dict(sorted(d.items(), key=itemgetter(1), reverse=True))
ログイン後にコピー

17 を渡すことで降順に並べ替えることもできます。 Pretty print

Python の Print() 関数を使用して、場合によっては出力が醜いことがあります。このとき、pprint を使用して出力をより美しくすることができます。サンプルは次のとおりです:

from pprint import pprint
data = {
 "name": "john deo",
 "age": "22",
 "address": {"contry": "canada", "state": "an state of canada :)", "address": "street st.34 north 12"},
 "attr": {"verified": True, "emialaddress": True},
}
print(data)
pprint(data)
ログイン後にコピー

出力は次のとおりです:

{'name': 'john deo', 'age': '22', 'address': {'contry': 'canada', 'state': 'an state of canada :)', 'address': 'street st.34 north 12'}, 'attr': {'verified': True, 'emialaddress': True}}
{'address': {'address': 'street st.34 north 12',
'contry': 'canada',
'state': 'an state of canada :)'},
'age': '22',
'attr': {'emialaddress': True, 'verified': True},
'name': 'john deo'}
ログイン後にコピー

pprint 関数を使用すると、辞書の出力が読みやすくなることがわかりました。

以上がPython に関する 17 の役立つヒントを共有しましょう。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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