Lao Qi から Python の for ループ ステートメントを学ぶ
Jun 16, 2016 am 08:41 AMくだらない話はやめて、仕事に取り掛かりましょう。
forの基本操作
For はループ処理に使用され、オブジェクトから要素を順番に読み取ります。以下の例を見て、学習したデータ オブジェクトに対して for ループを使用して、どれが使用でき、どれが使用できないかを確認してください。同時に過去の内容の振り返りでもあります。
>>> name_str = "qiwsir"
>>> for i in name_str: #str
で for ループを使用できます ... print i,
... q i w s i r
>>> name_list = list(name_str)
>>> 名前リスト
['q'、'i'、'w'、's'、'i'、'r']
>>> for i in name_list: #リストにも使用できます
... print i,
...
q i w s i r
>>> 名前セット
set(['q', 'i', 's', 'r', 'w'])
>>> name_set の i:
... print i,
...
q i s r w
>>> 名前タプル
('q'、'i'、'w'、's'、'i'、'r')
>>> for i in name_tuple: #tuple も使用できます
... print i,
...
q i w s i r
>>> name_dict の i : #dict も例外ではありません
... print i,"-->",name_dict[i]
...
lang --> Python
ウェブサイト --> qiwsir.github.io
名前 --> キウシール
リスト解析での for の使用は過小評価できません。これはリスト解析の説明で説明しましたが、いわゆる学習と復習は冗談ではありません。
>>> 1 つ
[1、2、3、4、5、6、7、8]
>>> [x の x 1 の場合 x%2==0 ]
[2、4、6、8]
私は、リスト解析の強力さを今後の研究でさらに理解するつもりです。
python3を使うと、辞書解析やタプル解析も素晴らしいことがわかります。
ワンランク上に進むには、一般化する必要があります。上記の for ループを要約すると、次の図に示されます:
画像の説明を入力してください
1 つの単語で次のことを表現します:
ステートメント
Iterating_var はオブジェクト シーケンスの反復変数です。つまり、シーケンスは特定のシーケンスを持つことができるオブジェクトである必要があります。特定のシーケンスがないという事実、つまり要素を取得できることに特に注意してください。特定の添字によると。もちろん、ファイル オブジェクトはシーケンスに属しており、それを読み出す場合でも、フッターを使用してその内容を読み取ることができます。
zip
zipとは何ですか?公式ドキュメントを取得するには、対話モードで help(zip) を使用します:
zip(...)
zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
タプルのリストを返します。各タプルには、各引数シーケンスの i 番目の要素が含まれます。返されるリストは、最も短い引数シーケンスの長さに切り詰められます。
上記のドキュメントを理解するために実験してください:
>>> b = "github"
>>> zip(a,b)
[('q', 'g'), ('i', 'i'), ('w', 't'), ('s', 'h'), ('i', 'u') 、('r'、'b')]
>>> c = [1,2,3]
>>> d = [9,8,7,6]
>>> zip(c,d)
[(1, 9), (2, 8), (3, 7)]
>>> e = (1,2,3)
>>> f = (9,8)
>>> zip(e,f)
[(1, 9), (2, 8)]
>>> m = {"名前","言語"}
>>> n = {"qiwsir","python"}
>>> zip(m,n)
[('lang', 'python'), ('name', 'qiwsir')]
>>> s = {"名前":"qiwsir"}
>>> t = {"lang":"Python"}
>>> zip(s,t)
[('名前', '言語')]
zip は組み込み関数であり、そのパラメータはシーケンス データ型である必要があります。辞書の場合、キーはシーケンスとして扱われます。次に、シーケンスに対応する要素が順番にタプルに形成され、リストの要素として使用されます。
以下は、パラメーターがシーケンス データである場合の特殊なケースであり、生成される結果は次のようになります。
「キウシール」
>>> c
[1、2、3]
>>> zip(c)
[(1,), (2,), (3,)]
>>> zip(a)
[('q',), ('i',), ('w',), ('s',), ('i',), ('r',)]
この関数は、for と一緒に使用すると実装されます:
[1、2、3]
>>>
[9、8、7、6]
>>> for x,y in zip(c,d): #1 対 1 の印刷を実現
... print x,y
...
1 9
2 8
3 7
>>> for x,y in zip(c,d): #2 つのリストの対応する数量を上下に加算します。
... print x+y
...
10
10
10
上記の追加関数は、zip を使用しない場合、次のように記述することもできます。
... print c[i]+d[i]
...
10
10
10
上記の 2 つの書き方のうち、どちらが優れていますか?前者?後者?ははは。ほぼ完成したと思います。次のこともできます:
[10、10、10]
前に何度も言ったように、リスト解析は強力です。もちろん、次のようにすることもできます:
[10、10、10]
for ループ文は後で頻繁に使用されますが、実際にはこれまでにもよく使用されてきました。したがって、読者はあまり馴染みのないものを感じる必要はありません。

人気の記事

人気の記事

ホットな記事タグ

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

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











kernel_security_check_failure ブルー スクリーンを解決する 17 の方法

Win10 で Skype for Business をアンインストールするにはどうすればよいですか?コンピューターから Skype を完全にアンインストールする方法

Java Iterator と Iterable: エレガントなコードを書くためのステップ
