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 ループが右側にある場合は list
たとえば、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 つのエンティティが必要です
数値 = [1, 2, 3, 1, 3, 2, 4, 2, 1, 3]
としますunique_nums = {x for x in nums}: キーがないため、Python はこれがセットである必要があることを認識します
時間ができたらこれを書きますが、まだここで確認できます: AdvancedPythonConcepts これは、私が初めて Python の概念を学んだときに文書化した私の git リポジトリです。時間ができたら、このリポジトリに基づいてこの記事を書きます...
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3