要約: 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の新技術について初めて学びましょう〜