Pythonが開発した10個のチップとテクニック及び長さはよくミスを犯します。


次は10個のPythonの中で有用なスレッドとテクニックです。その中のいくつかは初めてこの言語を勉強した時によくある間違いです。
注意:もし私達が全部使っているのがPython 3です。
1.リスト導出式
あなたはlist:bag=[1,2,3,4,5]を持っています。
今はすべての要素を倍増させたいです。このように見せてください。
多くの初心者は、前の言語の経験によって、大体このようにします。

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のリスト導出式といいます。
2.リストを巡回
上のリストです。できるだけ避けるなら:

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)
直観明瞭である。
3.元素交換
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
4.初期化リスト
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]]
“         ”
自分に聞いてみてください。リストを初期化する必要がありますか?
5.文字列を作成する
文字列を印刷する必要があります。多くの変数があると、次のようにならないようにします。

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)
6.tuplesに戻る(元のグループ)
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()こんなに効率がいいです。
7.Dictsにアクセスする(辞書)
あなたもよく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] 
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が呼び出されるたびにリストを巡回するからです。
8ライブラリの使用
既存のライブラリを導入すれば、本当にやりたいことができます。
それとも前の例ですか?関数を作って、リストに表示される数を数えます。じゃ、もう一つの倉庫があります。このようなことができます。

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]))
いくつかの用庫の理由:
コードは正しくてテストされました。
それらのアルゴリズムは最適になるかもしれません。そうすれば速く走ることができます。
抽象化:明確で友好的な文書を指しています。まだ実現されていないものに集中できます。
最後に、もうあそこにいます。もう車輪を作らなくてもいいです。
9.リストでスライス/ステップを切ります。
ポイントと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)
これがリストのステップです。リストを巡回しながら要素を取り出すという意味です。
リストをロールバックしてクールなリストを使うことができます。
10.tabキーですか?それともスペースキーですか?
長い間見ると、tabとスペースを混ぜ合わせると、多くの迷惑がかかります。Indentation Error:unexpected indentが見られます。タブキーを選択しても、スペースキーを選択しても、ファイルとプロジェクトの中でずっと使うべきです。
タブではなくスペースを使う理由は、タブはすべてのエディタで同じではないからです。使っているエディタを見ると、tabは2つから8つのスペースとして扱われるかもしれません。
コードを書く時はスペースでtabを定義してもいいです。そうすると、自分でいくつかのスペースを使ってtabとして使うことができます。大多数のPythonユーザーは4つのスペースを使っています。
締め括りをつける
以上は小编が皆さんに绍介したPython开発の10人のコメンテーターとテクニックです。皆さんのために役に立つことを望んでいます。ここでも私たちのサイトを応援してくれてありがとうございます。