10個のPythonテクニックを持っている価値があります。
リスト式
リストがあります。
今はすべての要素を倍増させたいです。このように見せてください。
リストを巡回
上のリストです。できるだけ避けるなら:
元素交換
javaまたはC言語からPythonに移行すれば、このように慣れるかもしれません。
10個の整数0のリストが欲しいなら、まず思いつきます。
リストにリストが含まれていると、浅いコピーができます。
例を挙げます
変更しました
文字列を作成
文字列を印刷する必要があります。多くの変数があると、次のようにならないようにします。
このようにします
Pythonは一つの関数で複数の要素を返すことができます。これは生活をより簡単にします。しかし、元のグループを解凍する時にラインを出すというよくあるエラーがあります。
Dict辞書にアクセス
あなたもよくdictsにキー、value(キー、値)を書き込みます。
もしあなたがdictに存在しないkeyにアクセスしようとすると、KeyErrエラーを避けるために、このようにする傾向があります。
これはもっと簡単なのに、もっと多くのお金を使う方法です。
ライブラリを使う
既存のライブラリを導入すれば、本当にやりたいことができます。
それとも前の例ですか?関数を作って、リストに表示される数を数えます。じゃ、もう一つの倉庫があります。このようなことができます。
•コードは正しく、そしてテストされました。
•アルゴリズムは最適かもしれません。そうすると速く走ります。
•抽象化:明確で友好的な文書を指しています。まだ実現されていないものに集中できます。
•最後に、もうあそこにいます。もう車輪を作らなくてもいいです。
•リストでスライス/ステップ
ポイントとstopポイントを指定できます。このようにlist[start:stop:step]です。リストの最初の5つの要素を取り出します。
最後の5つの要素はどうしますか?
リストの要素間隔を操作したいなら、こうします。
リストをロールバックしてクールなリストを使うことができます。
タブキーですか?それともスペースですか
長い間見ると、tabとスペースを混ぜ合わせると、多くの迷惑がかかります。Indentation Error:unexpected indentが見られます。タブキーを選択しても、スペースキーを選択しても、ファイルとプロジェクトの中でずっと使うべきです。
タブではなくスペースを使う理由は、タブはすべてのエディタで同じではないからです。使っているエディタを見ると、tabは2つから8つのスペースとして扱われるかもしれません。
コードを書く時はスペースでtabを定義してもいいです。そうすると、自分でいくつかのスペースを使ってtabとして使うことができます。大多数のPythonユーザーは4つのスペースを使っています。
締め括りをつける
以上述べたのは小编が皆さんに绍介した10のPython小技术です。皆さんに役に立つことを望んでいます。もし何か疑问がありましたら、メッセージをください。小编はすぐに皆さんに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。
リストがあります。
bag = [1, 2, 3, 4, 5]
。今はすべての要素を倍増させたいです。このように見せてください。
[2, 4, 6, 8, 10]
多くの初心者は、前の言語の経験によって、大体このようにします。
bag = [1, 2, 3, 4, 5]
for i in range(len(bag)):
bag[i] = bag[i] * 2
しかし、より良い方法があります。bag = [elem * 2 for elem in bag]
簡潔ですよね?これはPythonのリスト導出式といいます。リストを巡回
上のリストです。できるだけ避けるなら:
bag = [1, 2, 3, 4, 5]
for i in range(len(bag)):
print(bag[i])
その代わりに、
bag = [1, 2, 3, 4, 5]
for i in bag:
print(i)
xがリストであるなら、その要素を反復してもいいです。多くの場合、各要素の索引は必要ないですが、どうしてもそうしたいなら、enumerate関数を使います。下のようです。
bag = [1, 2, 3, 4, 5]
for index, element in enumerate(bag):
print(index, element)
直観明瞭である。元素交換
javaまたはC言語からPythonに移行すれば、このように慣れるかもしれません。
a = 5
b = 10
# a b
tmp = a
a = b
b = tmp
しかしPythonはもっと自然でいい方法を提供します。
a = 5
b = 10
# a b
a, b = b, a
初期化リスト10個の整数0のリストが欲しいなら、まず思いつきます。
bag = []
for _ in range(10):
bag.append(0)
方式を変えましょうbag = [0] * 10
ほら、優雅ですね。リストにリストが含まれていると、浅いコピーができます。
例を挙げます
bag_of_bags = [[0]] * 5 # [[0], [0], [0], [0], [0]]
bag_of_bags[0][0] = 1 # [[1], [1], [1], [1], [1]]
Oops!すべてのリストが変わりました。最初のリストを変更したいだけです。変更しました
bag_of_bags = [[0] for _ in range(5)]
# [[0], [0], [0], [0], [0]]
bag_of_bags[0][0] = 1
# [[1], [0], [0], [0], [0]]
「早すぎる最適化は悪の根源」自分に聞いてみると、リストを初期化する必要がありますか?文字列を作成
文字列を印刷する必要があります。多くの変数があると、次のようにならないようにします。
name = "Raymond"
age = 22
born_in = "Oakland, CA"
string = "Hello my name is " + name + "and I'm " + str(age) + " years old. I was born in " + born_in + "."
print(string)
えっと、これはどれぐらい乱れていますか?きれいで簡潔な方法で代替できます。フォーマット。このようにします
name = "Raymond"
age = 22
born_in = "Oakland, CA"
string = "Hello my name is {0} and I'm {1} years old. I was born in {2}.".format(name, age, born_in)
print(string)
tuple元のグループに戻りますPythonは一つの関数で複数の要素を返すことができます。これは生活をより簡単にします。しかし、元のグループを解凍する時にラインを出すというよくあるエラーがあります。
def binary(): return 0, 1
result = binary()
zero = result[0]
one = result[1]
これは必要ないです。完全にこのように変えられます。
def binary(): return 0, 1
zero, one = binary()
すべての要素が必要であれば、下線(u)を使います。zero, _ = binary()
こんなに効率がいいです。Dict辞書にアクセス
あなたもよくdictsにキー、value(キー、値)を書き込みます。
もしあなたがdictに存在しないkeyにアクセスしようとすると、KeyErrエラーを避けるために、このようにする傾向があります。
countr = {}
bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]
for i in bag:
if i in countr:
countr[i] += 1 else:
countr[i] = 1
for i in range(10):
if i in countr:
print("Count of {}: {}".format(i, countr[i]))
else:
print("Count of {}: {}".format(i, 0))
しかし、get()を使うのはもっと良い方法です。
countr = {}
bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]
for i in bag:
countr[i] = countr.get(i, 0) + 1
for i in range(10):
print("Count of {}: {}".format(i, countr.get(i, 0)))
もちろんset defaultを使ってもいいです。これはもっと簡単なのに、もっと多くのお金を使う方法です。
bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]
# {2: 3, 3: 1, 1: 1, 5: 1, 6: 1, 7: 2, 9: 1}
countr = dict([(num, bag.count(num)) for num in bag])
for i in range(10):
print("Count of {}: {}".format(i, countr.get(i, 0)))
dict導出式を使うこともできます。
countr = {num: bag.count(num) for num in bag}
これらの2つの方法のオーバーヘッドが大きいのは、countが呼び出されるたびにリストを巡回するからです。ライブラリを使う
既存のライブラリを導入すれば、本当にやりたいことができます。
それとも前の例ですか?関数を作って、リストに表示される数を数えます。じゃ、もう一つの倉庫があります。このようなことができます。
from collections import Counter
bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]
countr = Counter(bag)for i in range(10):
print("Count of {}: {}".format(i, countr[i]))
いくつかの用庫の理由:•コードは正しく、そしてテストされました。
•アルゴリズムは最適かもしれません。そうすると速く走ります。
•抽象化:明確で友好的な文書を指しています。まだ実現されていないものに集中できます。
•最後に、もうあそこにいます。もう車輪を作らなくてもいいです。
•リストでスライス/ステップ
ポイントとstopポイントを指定できます。このようにlist[start:stop:step]です。リストの最初の5つの要素を取り出します。
bag = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for elem in bag[:5]:
print(elem)
これはスライスです。stopポイントを5と指定します。停止する前にリストから5つの要素を取り出します。最後の5つの要素はどうしますか?
bag = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for elem in bag[-5:]:
print(elem)
見てないですか5は、リストの最後から5つの要素を取り出すことを意味する。リストの要素間隔を操作したいなら、こうします。
bag = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for index, elem in enumerate(bag):
if index % 2 == 0:
print(elem)
しかし、あなたはこうするべきです。
bag = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for elem in bag[::2]:
print(elem)
# ranges
bag = list(range(0,10,2))
print(bag)
これがリストのステップです。リストを巡回しながら要素を取り出すという意味です。リストをロールバックしてクールなリストを使うことができます。
タブキーですか?それともスペースですか
長い間見ると、tabとスペースを混ぜ合わせると、多くの迷惑がかかります。Indentation Error:unexpected indentが見られます。タブキーを選択しても、スペースキーを選択しても、ファイルとプロジェクトの中でずっと使うべきです。
タブではなくスペースを使う理由は、タブはすべてのエディタで同じではないからです。使っているエディタを見ると、tabは2つから8つのスペースとして扱われるかもしれません。
コードを書く時はスペースでtabを定義してもいいです。そうすると、自分でいくつかのスペースを使ってtabとして使うことができます。大多数のPythonユーザーは4つのスペースを使っています。
締め括りをつける
以上述べたのは小编が皆さんに绍介した10のPython小技术です。皆さんに役に立つことを望んでいます。もし何か疑问がありましたら、メッセージをください。小编はすぐに皆さんに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。