ホームページ >バックエンド開発 >Python チュートリアル >Python のメモ/トリック/レッスン/ニュアンス
C++ のトリックの投稿をしました。私が知っているトリックについてもっと書きたいと思いました。なぜなら、C++ でコーディングしたにもかかわらず、ほとんどのトリックは Python と JS で書かれているからです。他にもたくさんありますが、とにかくここにあります。基本的な Python 構文に関する些細なことから始めますが、初心者には知られていないことがいくつかあります。それらには星 ⭐️ を付けています:
リストの部分配列にアクセスする簡単な方法
どちらも同じメモリ割り当てであるため、一方を変更すると他方も変更されます
3 つの方法:
基本的なリストの内包概念から始めますが、すぐに簡単ではなくなります。
values = [word for word in values if len(word) > 1 and word[0] == 'a' and word[-1] == 'y'] # OR, a nicer way is ⭐️ values = [ string for string in values if len(string) > 1 if string[0] == 'a' if string[-1] == 'y' ]
リストのリスト、または 2D 行列の平坦化
ネストされたリストの内包: 行列 (リストのリスト) の平坦化 ⭐️
例: 行列 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
values = [ number for row in matrix for number in row ] # first for loop then the next for loop is inside the first and so on
values = [ "Even" if x % 2 == 0 else "Odd" for x in range(10) ]
この構文 ->
"偶数" if x % 2 == 0 else "奇数" は Python の多くの場所で有効です。変数に入れることもできます。これは基本的に三項演算子ですが、より冗長です
⭐️ リストの内包表記を理解するには、常に式の左側と右側を見てください。ネストされたループは左から右に進みます。if else が for ループの左側にある場合、どの値をチェックしますかif else 条件に応じて挿入する必要がありますか。一方、for ループが右側にある場合は、リストからフィルタリングしようとしています
たとえば、5x5x5 のリストを作成するには: ⭐️
values = [[[num+1 for num in range(5)] for _ in range(5)] for _ in range(5)]
⭐️ for ループの最も外側を探します。その左側にあるものはすべてvalues[] 配列に追加されます。この構文の意味は、for _ in range(5) にあるものは何でも実行したいということです。この for ループの左側を 5 回実行します (反復ごとの反復子変数の値を気にしないため)
ペア = [("a", 1), ("b", 2)] がある場合: ペアまたはタプルのリスト
-> my_dict = {k:v for k, v inpairs}: 値のアンパック。これが機能するには、ペアの各「ペア」に正確に 2 つのエンティティが必要です
nums = [1, 2, 3, 1, 3, 2, 4, 2, 1, 3] とします
unique_nums = {x for x in nums}: キーがないため、Python はこれがセットである必要があることを認識します
時間ができたらこれを書きますが、ここで確認することができます: AdvancedPythonConcepts これは、私が初めて Python の概念を学んだときに文書化した私の git リポジトリです。時間ができたら、このリポジトリに基づいてこの記事を書きます...
以上がPython のメモ/トリック/レッスン/ニュアンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。