ホームページ >バックエンド開発 >Python チュートリアル >教える: 30 秒ごとに Python のトリックを学びます

教える: 30 秒ごとに Python のトリックを学びます

coldplay.xixi
coldplay.xixi転載
2021-01-02 10:25:442206ブラウズ

Python ビデオ チュートリアル を学習している多くの友人は、実際のプロジェクト中に関数の実装で多くの問題に遭遇するでしょう。いくつかの問題は難しくないか、すでに存在しています。それを解決する素晴らしい方法です。 。もちろん、コーディングに習熟すれば、自然と役立つテクニックをまとめられるようになるのが完璧ですが、Python に慣れ始めたばかりの学生にとっては、そう簡単ではないかもしれません。

教える: 30 秒ごとに Python のトリックを学びます

おすすめ (無料): Python ビデオ チュートリアル

今回は、誰もが学ぶことができるものをお勧めします。これらのスキル 非常に優れたリソース

「30 秒の Python」、すべてのスキルとメソッドをわずか 30 秒で取得でき、ビジネス時間を使ってそれらを蓄積することができます。以下を簡単に見てみましょう。

https://github.com/30-seconds...
コンテンツ ディレクトリ

以下は、30 秒で学ぶ Python のディレクトリ全体をいくつかに分けたものです。主要セクション:

ListMathObjectStringUtility、以下は整理された思考マップです。 。

教える: 30 秒ごとに Python のトリックを学びます

実践的で興味深い方法を 10 個選んで紹介しました。興味があれば残りは自分で学ぶことができます。

1. リスト: all_equal関数実装: リスト内のすべての要素が同じかどうかを確認します。
解釈:
[1:][:-1] を使用して、指定されたリストのすべての要素を比較します。

def all_equal(lst):
return lst[1:] == lst[:-1]
例:

all_equal([1, 2, 3, 4, 5, 6]) # False
all_equal([1, 1, 1, 1]) # True

2. リスト: all_unique関数実装: リスト内のすべての値が一意の場合は True を返し、そうでない場合は False
解釈: set
set() を使用して、指定されたリストの重複を削除し、その長さを元のリストと比較します。

def all_unique(lst):
return len(lst) == len(set(lst))
例:

x = [1,2,3,4,5,6]
y = [1,2,2,3,4,5]
all_unique(x) # True
all_unique(y) # False

3. リスト: bifurcate関数の実装: リスト値をグループ化します。
filter の要素が True の場合、対応する要素は最初のグループに属し、それ以外の場合は 2 番目のグループに属します。 解釈: リスト内包表記を使用し、フィルター要素に基づいて各グループに enumerate() を実行します。

def bifurcate(lst, filter):
    return [
    [x for i,x in enumerate(lst) if filter[i] == True],
    [x for i,x in enumerate(lst) if filter[i] == False]
  ]
例:

bifurcate(['beep', 'boop', 'foo', 'bar'], [True, True, False, True])

# [ ['beep', 'boop', 'bar'], ['foo'] ]

4. リスト: 差分関数実装: 2 つの
iterables の差を返します。 解釈:
b のセットを作成し、 a のリスト内包表記を使用して _b にない要素を保持します。

def difference(a, b):
  _b = set(b)
return [item for item in a if item not in _b]
例:

difference([1, 2, 3], [1, 2, 4]) # [3]

5. リスト: flatten関数実装: 1 回限りの統合リスト。
解釈: ネストされたリストを使用して、サブリストの各値を抽出します。

def flatten(lst):
return [x for y in lst for x in y]
例:

flatten([[1,2,3,4],[5,6,7,8]]) # [1, 2, 3, 4, 5, 6, 7, 8]

6. 数学: digitalize関数の実装: 数値を分解し、1 桁の数字に変換します。
解釈: n を特徴付けた後、
map() 関数を int と組み合わせて使用​​し、変換を完了します。

def digitize(n):
return list(map(int, str(n)))
例:

digitize(123) # [1, 2, 3]

7. リスト: shuffle関数実装: リスト要素の順序をランダムにシャッフルします。
解釈:
Fisher-Yates アルゴリズムを使用して、リスト要素を並べ替えます。

from copy import deepcopy
from random import randint

def shuffle(lst):
  temp_lst = deepcopy(lst)
  m = len(temp_lst)
while (m):
    m -= 1
    i = randint(0, m)
    temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m]
return temp_lst
例:

foo = [1,2,3]
shuffle(foo) # [2,3,1] , foo = [1,2,3]

8. 数学:clamp_number関数の実装:数値
num を a と の境界値にクランプします。 b 指定された範囲内にあること。 解釈:
num が範囲内にある場合は num を返し、それ以外の場合は範囲​​内で最も近い数値を返します。

def clamp_number(num,a,b):
return max(min(num, max(a,b)),min(a,b))
例:

clamp_number(2, 3, 5) # 3
clamp_number(1, -1, -5) # -1

9. 文字列: byte_size関数の実装: 文字列内のバイト数を返します。
解釈:
string.encode('utf-8')を使用します指定された文字列をデコードし、長さを返します。

def byte_size(string):
    return len(string.encode('utf-8'))
例:

byte_size('?') # 4
byte_size('Hello World') # 11

10. 数学: gcd関数の実装: いくつかの数値の最大公約数を計算します。
解釈:
reduce()math.gcd を使用して、指定されたリストを実装します。

from functools import reduce
import math

def gcd(numbers):
    return reduce(math.gcd, numbers)
例:

gcd([8,36,28]) # 4
上記は、30 秒で Python を学習するためのさまざまなヒントです。いかがでしょうか?一般的な操作について、新たなインスピレーションを得られましたか?その他にも、ゆっくり学べるテクニックがたくさんありますので、読者の皆様のお役に立てれば幸いです。

以上が教える: 30 秒ごとに Python のトリックを学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。