#é¾ä»¥æ³è±¡çfor
çè¿ä¸ªæ é¢ï¼æç¹åªå¤·ææåï¼ä¸ºä»ä¹foræ¯é¾ä»¥æ³è±¡çå¢ï¼å 为å¨pythonä¸ï¼å®çç¡®æ¯å¾å¸¸ç¨èä¸å¾å¼ºæï¼å¼ºæå°ä»¥è³äºå¦å¤ä¸ä¸ªè¢«ç§°ä¹ä¸ºè¿ä»£çä¸è¥¿ï¼å¨pythonä¸å°±æç¹ç¸å½¢è§ç»äºãå¨å«çè¯è¨ä¸ï¼forçå°ä½ä»æ¥æ²¡æå¦åpythonä¸è¿ä¹é«çã
åºè¯å°è¯´ï¼ä¸å¹²æ´»ã
##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)
>>> name_list
['q', 'i', 'w', 's', 'i', 'r']
>>> for i in name_list: #对listä¹è½ç¨
... print i,
...
q i w s i r
>>> name_set = set(name_str) #setè¿å¯ä»¥ç¨
>>> name_set
set(['q', 'i', 's', 'r', 'w'])
>>> for i in name_set:
... print i,
...
q i s r w
>>> name_tuple = tuple(name_str)
>>> name_tuple
('q', 'i', 'w', 's', 'i', 'r')
>>> for i in name_tuple: #tupleä¹è½å
... print i,
...
q i w s i r
>>> name_dict={"name":"qiwsir","lang":"python","website":"qiwsir.github.io"}
>>> for i in name_dict: #dictä¹ä¸ä¾å¤
... print i,"-->",name_dict[i]
...
lang --> python
website --> qiwsir.github.io
name --> qiwsir
é¤äºä¸é¢çæ°æ®ç±»åä¹å¤ï¼å¯¹æä»¶ä¹è½å¤ç¨forï¼è¿å¨å颿ä¸é¨ç[ãä¸è¦çº¢å¤´æä»¶ã](./130.md)ä¸¤ç¯æç« è®²è§£æå
³å¦ä½ç¨foræ¥è¯»åæä»¶å¯¹è±¡çå
容ãçå®è¥å¿è®°äºï¼å¯å»æµè§ã
forå¨listè§£æä¸ï¼ç¨éä¹ä¸å¯å°è§ï¼è¿å¨è®²è§£listè§£æçæ¶åï¼ä¹å·²è¯´æï¼ä¸è¿ï¼è¿æ¯åå¤ä¹ ä¸ä¸ä¸ºå¥½ï¼æè°å¦èæ¶å¸¸å¤ä¹ ä¹ï¼ä¸äº¦ååä¹ã
>>> one = range(1,9)
>>> one
[1, 2, 3, 4, 5, 6, 7, 8]
>>> [ x for x in one if x%2==0 ]
[2, 4, 6, 8]
ä»ä¹ä¹ä¸è¯´äºï¼listè§£æç强æï¼å¨ä»¥åçå¦ä¹ ä¸ä¼è¶æ¥è¶ä½ä¼å°çï¼ä½©æä½©æåã
åä½å¦æç¨python3ï¼ä¼åç°åå
¸è§£æãå
ç»è§£æä¹æ¯å¥å¦çåã
è¦ä¸åä¸ä¸ªæ¡£æ¬¡ï¼å°±å¾è¿è¡æ¦æ¬ãå°ä¸é¢æè¯´çfor循ç¯ï¼æ¦æ¬ä¸ä¸ï¼å°±æ¯ä¸å¾æç¤ºï¼

ç¨ä¸ä¸ªæå表述ï¼
for iterating_var in sequence:
statements
iterating_varæ¯å¯¹è±¡sequenceçè¿ä»£åéï¼ä¹å°±æ¯sequenceå¿
é¡»æ¯ä¸ä¸ªè½å¤ææç§åºåç对象ï¼ç¹å«æ³¨ææ²¡æç§åºåï¼å°±æ¯è¯´è½å¤æç
§ä¸å®çèæ è·åå
ç´ ãå½ç¶ï¼æä»¶å¯¹è±¡å±äºåºåï¼æä»¬æ²¡æç¨èæ å»è·åæ¯è¡ï¼å¦ææå®è¯»ååºæ¥ï¼å ä¸ºä¹æ¯ä¸ä¸ªstr,æä»¥ä¾ç¶å¯ä»¥ç¨èæ 读åå
¶å
容ã
##zip
zipæ¯ä»ä¹ä¸è¥¿ï¼å¨äº¤äºæ¨¡å¼ä¸ç¨help(zip),å¾å°å®æ¹ææ¡£æ¯ï¼
>zip(...)
>zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
>Return a list of tuples, where each tuple contains the i-th element from each of the argument sequences. The returned list is truncated in length to the length of the shortest argument sequence.
éè¿å®éªæ¥çè§£ä¸é¢çææ¡£ï¼
>>> a = "qiwsir"
>>> 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 = {"name","lang"}
>>> n = {"qiwsir","python"}
>>> zip(m,n)
[('lang', 'python'), ('name', 'qiwsir')]
>>> s = {"name":"qiwsir"}
>>> t = {"lang":"python"}
>>> zip(s,t)
[('name', 'lang')]
zipæ¯ä¸ä¸ªå
ç½®å½æ°ï¼å®çåæ°å¿
é¡»æ¯æç§åºåæ°æ®ç±»åï¼å¦ææ¯åå
¸ï¼é£ä¹é®è§ä¸ºåºåãç¶åå°åºå对åºçå
ç´ ä¾æ¬¡ç»æå
ç»ï¼å为ä¸ä¸ªlistçå
ç´ ã
ä¸é¢æ¯æ¯è¾ç¹æ®çæ
åµï¼åæ°æ¯ä¸ä¸ªåºåæ°æ®çæ¶åï¼çæçç»ææ ·åï¼
>>> a
'qiwsir'
>>> c
[1, 2, 3]
>>> zip(c)
[(1,), (2,), (3,)]
>>> zip(a)
[('q',), ('i',), ('w',), ('s',), ('i',), ('r',)]
è¿ä¸ªå½æ°åforè¿ç¨ï¼å°±æ¯å®ç°äºï¼
>>> c
[1, 2, 3]
>>> d
[9, 8, 7, 6]
>>> for x,y in zip(c,d): #å®ç°ä¸å¯¹ä¸å¯¹å°æå°
... print x,y
...
1 9
2 8
3 7
>>> for x,y in zip(c,d): #æä¸¤ä¸ªlistä¸ç对åºéä¸ä¸ç¸å ã
... print x+y
...
10
10
10
ä¸é¢è¿ä¸ªç¸å çåè½ï¼å¦æä¸ç¨zipï¼è¿å¯ä»¥è¿ä¹åï¼
>>> length = len(c) if len(c)