httpPython を学習し始めて以来、頻繁に使用する「トリック」のリストを維持することにしました。 「すごい、これはうまくいく!」と思った一節。 ” コード (例として、StackOverflow、オープンソース ソフトウェアなど) を理解するまで試してから、リストに追加します。経験豊富な方向けの記事です。 Python プログラマーの場合は、すでに知っているものもあれば、Python を学習している、または学習を始めたばかりの C、C++、または Java プログラマーであれば、まだ知らないことがあるかもしれません。それらの多くは私と同様に非常に便利です それぞれのトリックや言語の機能は、過度の説明なしで例を通してのみ確認できます。ただし、例の一部は、あなたの慣れによっては、まだ少し複雑に見えるかもしれません。例を見てよくわからない場合は、Google で詳細を確認するのに十分な情報がタイトルに表示されます
リストは、一般的に使用される言語の機能とテクニックが最初に並べられています 1.15 フラット リスト: 。 >>> a = [[1, 2], [3, 4], [5, 6]] >>list
(itertools.chain.from_iterable(a)) >sum(a, [])[1, 2, 3, 4, 5, 6] > ;>> [x
l in a for x in l]
[1, 2, 3, 4, 5, 6] > = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
>>> ; [l1 の l1 の l2 の x 2 の x]
[ 1、2、3、4、5、6、7、8]
>>> a = [1, 2, [3, 4], [[5, 6], [7, 8] ]]]
>>> flatten = lambda x: [y for l in x for y in flatten(l)]
iftype(x) はリスト
else[x]
>> ;> flatten(a) [1, 2, 3, 4, 5, 6, 7, 8] 注: Python ドキュメントによれば、 itertools.chain.from_iterable が推奨されます。式
>>> g = (x ** 2 for x in x
range(10))
>>>
>>> sum(x ** 3 for x in xrange(10) if x % 3 == 1) 408
1.17 反復辞書
> ;>> m = {x: x ** 2 for x in range(5)}
>>> m
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
>>> m = {x: 'A' + str (x) for x in range(10)}
>>> m
; A0'、1:'A1'、2:'A2'、3:'A3'、4:'A4'、5:'A5'、6:'A6'、7:'A7'、8:'A8' , 9: 'A9'}
1.18 辞書を反復して辞書を逆引きします
>>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> m
{'d': 4, 'b': 2, 'c': 3}
>>> for k, v in m.items()}
{1: 'a', 2: 'b' , 3: 'c', 4: 'd'}
1.19 名前付きシーケンス (collections.namedtuple)
>>> Point = collections.namedtuple('Point', ['x', 'y'] )
>>> p = Point(x=1.0, y=2.0)
> >> p
Point(x=1.0, y=2.0)
>>> p.x
1.0
>>>, ['x ', 'y'])) :
... スロット = ()
... def add(self, other):
... return Point(x=self.x + other.x, y=self.y + other.y)
...
> ;>> p = ポイント(x=1.0, y=2.0)
>>> q = 点(x=2.0, y=3.0)
>>> p + q
Point(x=3.0, y=5.0)
1.21 集合および集合操作
>>> A = {1, 2, 3, 3}
>>> A
set([1, 2, 3])
>>> B = {3, 4, 5, 6, 7}
>>> B
set([3, 4, 5, 6, 7])
>>>あ | B
set([1, 2, 3, 4, 5, 6, 7])
>>> A & B
set([3])
>>> A - B
set([1, 2])
>>> B - A
set([4, 5, 6, 7])
>>> A ^ B
set([1, 2, 4, 5, 6, 7])
>>> (A ^ B) == ((A - B) | (B - A))
True
1.22 多重集合及びその操作 (collections.Counter)
>>> A = collections.Counter([1, 2, 2])
>>> B = collections.Counter([2, 2, 3])
>>> A
カウンター({2: 2, 1: 1})
>>> B
カウンター({2: 2, 3: 1})
>>>あ | B
カウンター({2: 2, 1: 1, 3: 1})
>>> A & B
カウンター({2: 2})
>>> A + B
カウンター({2: 4, 1: 1, 3: 1})
>>> A - B
カウンター({1:1})
>>> B - A
Counter({3: 1})
1.23 迭代中最常见的要素 (collections.Counter)
>>> A = collections.Counter([1, 1, 2, 2, 3, 3, 3, 3, 4, 5, 6, 7])
>>> A
カウンター({3: 4, 1: 2, 2: 2, 4: 1, 5: 1, 6: 1, 7: 1})
>>> A.most_common(1)
[(3, 4)]
>>> A.most_common(3)
[(3, 4), (1, 2), (2, 2)]
1.24 双端队列 (collections.deque)
>>> Q = collections.deque()
>>> Q.app終了(1)
>>> Q.appendleft(2)
>>> Q.extend([3, 4])
>>> Q.extendleft([5, 6])
>>> Q
deque([6, 5, 2, 1, 3, 4])
>>> Q.pop()
4
>>> Q.popleft()
6
>>> Q
deque([5, 2, 1, 3])
>>> Q.回転(3)
>>> Q
deque([2, 1, 3, 5])
>>> Q.回転(-3)
>>> Q
deque([5, 2, 1, 3])
1.25 有最大長度の双端队列 (collections.deque)
>>> last_three = collections.deque(maxlen=3)
>>> for i in xrange(10):
... last_three.append(i)
... print ', '.join(str(x) for x in last_three)
...
0
0, 1
0, 1, 2
1, 2, 3
2, 3, 4
3, 4, 5
4, 5, 6
5, 6, 7
6 , 7, 8
7, 8, 9
1.26 字典排序 (collections.OrderedDict)
>>> m = dict((str(x), x) for x in range(10))
>>> print ', '.join(m.keys())
1, 0, 3, 2, 5, 4, 7, 6, 9, 8
>>> m = collections.OrderedDict((str(x), x) for x in range(10))
>>> print ', '.join(m.keys())
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
>>> m = collections.OrderedDict((str(x), x) for x in range(10, 0, -1))
>>> print ', '.join(m.keys())
10, 9, 8, 7, 6, 5, 4, 3, 2, 1
1.27 缺字省典 (collections.defaultdict)
>> ;> m = dict()
>>> m['a']
トレースバック (最新の call 最後):
File "
KeyError: 'a'
>>>
>>> m = collections.defaultdict(int)
>>> m['a']
0
>>> m['b']
0
>>> m = collections.defaultdict(str)
>>> m['a']
''
>>> m['b'] += 'a'
>>> m['b']
'a'
>>> m = collections.defaultdict(lambda: '[デフォルト値]')
>>> m['a']
'[デフォルト値]'
>>> m['b']
'[デフォルト値]'
1.28 用缺省字典表示简单的树
>>> json
>>> をインポートします。 Tree = lambda: collections.defaultdict(tree)
>>> root =tree()
>>> root['menu']['id'] = 'file'
>>> root['メニュー']['値'] = 'ファイル'
>>> root['menu']['menuitems']['new']['value'] = 'New'
>>> root['menu']['menuitems']['new']['onclick'] = 'new();'
>>> root['menu']['menuitems']['open']['value'] = '開く'
>>> root['menu']['menuitems']['open']['onclick'] = 'open();'
>>> root['menu']['menuitems']['close']['value'] = '閉じる'
>>> root['menu']['menuitems']['close']['onclick'] = 'close();'
>>> print json.dumps(root, sort_keys=True, indent=4, separators=(',', ': '))
{
"menu": {
"id": "file",
"menuitems": {
"close": {
"onclick": "close();",
"value": "閉じる"
},
"新規": {
" onclick": "new();",
"value": "New"
},
"open": {
"onclick": open();",
"値": " 「
}
}、
"value": "File"
}
(https://gist.github.com/hrldcpr/201 2250查看详情)
1.29 映射对象到達唯一の配列数 (collections.defaultdict)
>>> itertools、コレクションをインポート
>>> value_to_numeric_map = collections.defaultdict(itertools.count().next)
>>> value_to_numeric_map['a']
0
>>> value_to_numeric_map['b']
1
>>> value_to_numeric_map['c']
2
>>> value_to_numeric_map['a']
0
>>> value_to_numeric_map['b']
1
以上が必見のPython言語の30の特徴とスキル (2)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール
