これらの場所では Python コードが使用されており、実際には 1 行で十分です。

要約: Python はシンプルで高速であると言われているため、このブログでは、いくつかの小さな問題を解決するために必要な 1 行のコードだけで、実践的な Python スキルを習得できます。

この記事は HUAWEI CLOUD コミュニティから共有されています " Python コードの行で何ができると思いますか? Dream Eraser によるMagical One-Line Python Code 。

コードの 1 行の起点

Python はシンプルで速いと言われているので、このブログでは実践的な Python スキルを紹介し、わずか 1 行のコードでいくつかの小さな問題を解決できるようにします。

1 行のコードはすべて、標準の Python 言語仕様に従って実装されています。

リスト内包表記

ジェネレーター構文は、Python がもたらす優れた構文糖衣であることは間違いありません。既存のリストに基づいて新しいリストを作成でき、構文は単純です。

students = ["橡皮擦","橡皮擦大","大橡皮擦","梦想橡皮擦"]
new_students = [name for name in students if name.startswith("橡皮")]
print(new_students)

上記のコードの 2 行目では、新しいリストが元のリストから除外され、構文は単純です. 構文構造に基づいて、辞書の理解と集合の理解に関連する知識ポイントもあり、これらはすべて 1 つを使用できますターゲット要件を完了するためのコード行。

辞書をマージする

Python の実戦では、2 つの辞書をマージする必要がある場合があります. 最も一般的に使用される方法は、update() メソッドまたは merge() 関数を使用することです. もちろん、一部のエンジニアは、前述の辞書内包表記の実装を使用しています. もっとありますか?簡潔な書き方? 毛織物? 次のコードを見ることができます

my_dict_1 = {'red': '红色', 'green': '绿色'}
my_dict_2 = {'blue': '蓝色', 'yellow': '黄色'}
merged_dict = {**my_dict_1, **my_dict_2}
print(merged_dict)

**記号はアンパック演算子、つまり、辞書の内容を逆アセンブルします.アンパック後、{}を使用して、上記のコードを参照して辞書をマージできます.もちろん、dict(を直接使用することもできます. ) マージする関数

my_dict_1 = {'red': '红色', 'green': '绿色'}
my_dict_2 = {'blue': '蓝色', 'yellow': '黄色'}
merged_dict = dict(**my_dict_1, **my_dict_2)
print(merged_dict)

しばらく変換していない場合は、次のコードを使用して変換できます。つまり、要素のスプライシング手法を使用して、最初に辞書をリストに変換してから接続します。

my_dict_1 = {'red': '红色', 'green': '绿色'}
my_dict_2 = {'blue': '蓝色', 'yellow': '黄色'}
merged_dict = dict(list(my_dict_1.items()) + list(my_dict_2.items()))
print(merged_dict)

重複排除の一覧表示

実際の戦闘では、リストの重複排除の状況にも遭遇します. リストデータの量が大きくない場合, set() 関数を直接使用して重複排除することができます, つまり, セットに重複を含めることは許可されていません.値。

names = ["消しゴム","消しゴム大","大消しゴム","夢消しゴム","消しゴム","消しゴム大","大消しゴム","夢消しゴム","消しゴム","消しゴム大", 「消しゴム大」「消しゴム大」「消しゴム大」「消しゴム大」「消しゴム大」「消しゴム大」

un_list = list(set(names))
print(un_list)

変数値を交換する 1 行のコード

これは Python のシンタックス シュガーでもあり、コード行を使用して変数値を交換するソート アルゴリズムを実行するときによく見られます。

a = 1
b = 2
a, b = b, a
print(a, b)

これに基づいて, より多くの変数に拡張することができます. この時点で, 別のコード行の知識ポイントが導出されます. つまり, コード行は複数の変数に値を割り当てます. サンプルコードは次のとおりです:

a, b, c, d = 1, 2, 3, 4
(a, b), (c, d) = (b, a), (d, c)
print(a, b, c, d)

print を使用してログをファイルに出力する

コードを書くときは、出力結果をテストする必要があることがよくあります。そのため、print 関数を頻繁に使用します。これらの結果は、デフォルトでコンソールに出力されます。プログラムを閉じると、結果は消えます。実際には、次のように使用できます。ファイルへの出力の書き込みを実装する print 関数の 2 番目のパラメーター。

print("Hello, World!", file=open('ca.txt', 'w'))

転置行列

行列の転置も 1 行のコードで実行できます。

old_list = [[1, 2], [3, 4]]
print(list(zip(*old_list)))

ただし、上記のコードはリストをタプルに変換します。これが発生したくない場合は、次のコードを使用できますが、これはまだ 1 行です。

old_list = [[1, 2], [3, 4]]
print(list(list(x) for x in zip(*old_list)))

クレイジーなコード行

通常の操作に加えて、次のコードのようないくつかの魔法の操作を Python で実装できます。

print(eval(input()))

1 行のコードを入力して、結果を直接出力できます。

このコードのベスト プラクティスは、1 行のコードで電卓を実装することです。

 

フォローをクリックして、HUAWEI CLOUDの新技術について初めて学びましょう〜

{{o.name}}
{{m.name}}

おすすめ

転載: my.oschina.net/u/4526289/blog/5572053