#æå®¹ä¹å¤§çlist(2)
##对listçæä½
###listçé¿åº¦
è¿è®°å¾strçé¿åº¦æä¹è·å¾åï¼å
¶é¿åº¦æ¯ä»ä¹å«å¢ï¼é£ç§æ¹æ³è½ä¸è½ç¨å¨listä¸é¢å¢ï¼ææå¦ä½ï¼
åå®éªï¼
>>> name = 'qiwsir'
>>> type(name)
>>> len(name)
6
>>> lname = ['sir','qi']
>>> type(lname)
>>> len(lname)
2
>>> length = len(lname)
>>> length
2
>>> type(length)
å®éªç»è®ºï¼
- len(x)ï¼å¯¹äºlist䏿 ·éç¨
- å¾å°çæ¯listä¸å
ç´ ä¸ªæ°
- è¿å弿¯intç±»å
###åå¹¶list
[ãæå®¹ä¹å¤§çlist(1)ã](./113.md)ä¸ï¼å¯¹listçæä½æå°äºlist.append(x)ï¼ä¹å°±æ¯å°æä¸ªå
ç´ x 追å å°å·²ç¥çä¸ä¸ªliståè¾¹ã
é¤äºå°å
ç´ è¿½å å°listä¸ï¼è¿è½å¤å°ä¸¤ä¸ªliståå¹¶ï¼æè
说å°ä¸ä¸ªlist追å å°å¦å¤ä¸ä¸ªlistä¸ãæç
§åæçæ¯ä¾ï¼è¿æ¯é¦å
ç[宿¹ææ¡£](https://docs.python.org/2/tutorial/datastructures.html)ä¸çæè¿°ï¼
> list.extend(L)
> Extend the list by appending all the items in the given list; equivalent to a[len(a):] = L.
**åæææ£å¨å¦ä¹ æ¬å
容çæåæä¾ä¸ä¸ªæä¸ºä¼ç§ç¨åºåçå¿
å¤ï¼ç宿¹ææ¡£ï¼æ¯å¿
é¡»çã**
宿¹ææ¡£çè¿å¥è¯ç¿»è¯è¿æ¥ï¼
>éè¿å°ææå
ç´ è¿½å å°å·²ç¥listæ¥æ©å
å®ï¼ç¸å½äºa[len(a)]= L
è±è¯å¤ªçï¼ç¿»è¯å¤ªå·®ãç´æ¥çä¾åï¼æ´æç½
>>> la
[1, 2, 3]
>>> lb
['qiwsir', 'python']
>>> la.extend(lb)
>>> la
[1, 2, 3, 'qiwsir', 'python']
>>> lb
['qiwsir', 'python']
ä¸é¢çä¾åï¼æ¾ç¤ºäºå¦ä½å°ä¸¤ä¸ªlistï¼ä¸ä¸ªæ¯laï¼å¦å¤ä¸ä¸ªlbï¼å°lb追å å°laçåé¢ï¼ä¹å°±æ¯ælbä¸çææå
ç´ å å
¥å°laä¸ï¼å³è®©laæ©å®¹ã
å¦ç¨åºä¸å®è¦æå¥½å¥å¿ï¼æå¨äº¤äºç¯å¢ä¸ï¼ç»å¸¸å®éªä¸ä¸èªå·±çæ³æ³ï¼ææ¶åæ¯æ¯è¾æè ¢çæ³æ³ã
>>> la = [1,2,3]
>>> b = "abc"
>>> la.extend(b)
>>> la
[1, 2, 3, 'a', 'b', 'c']
>>> c = 5
>>> la.extend(c)
Traceback (most recent call last):
File "", line 1, in
TypeError: 'int' object is not iterable
ä»ä¸é¢çå®éªä¸ï¼çå®è½å¤æä»ä¹å¿å¾ï¼åæ¥ï¼å¦æextend(str)çæ¶åï¼str被以å符为å使å¼ï¼ç¶å追å å°laéé¢ã
妿extendçå¯¹è±¡æ¯æ°å¼åï¼åæ¥éã
æä»¥ï¼extendç对象æ¯ä¸ä¸ªlistï¼å¦ææ¯strï¼åpythonä¼å
æå®æç
§å符为åä½è½¬å为listå追å å°å·²ç¥listã
ä¸è¿ï¼å«å¿è®°äºåé¢å®æ¹ææ¡£çååå¥è¯ï¼å®çæææ¯ï¼
>>> la
[1, 2, 3, 'a', 'b', 'c']
>>> lb
['qiwsir', 'python']
>>> la[len(la):]=lb
>>> la
[1, 2, 3, 'a', 'b', 'c', 'qiwsir', 'python']
list.extend(L) çæäº list[len(list):] = Lï¼Læ¯å¾
å¹¶å
¥çlist
èæ³å°å°[ä¸ä¸è®²](./113.md)ä¸çä¸ä¸ªlist彿°list.append(),è¿éçextend彿°ä¹æ¯å°å¦å¤çå
ç´ ï¼åªä¸è¿è¿ä¸ªå
ç´ æ¯å表ï¼å¢å å°ä¸ä¸ªå·²ç¥å表ä¸ï¼é£ä¹ä¸¤è
æä»ä¹ä¸ä¸æ ·å¢ï¼çä¸é¢ä¾åï¼
>>> lst = [1,2,3]
>>> lst.append(["qiwsir","github"])
>>> lst
[1, 2, 3, ['qiwsir', 'github']] #appendçç»æ
>>> len(lst)
4
>>> lst2 = [1,2,3]
>>> lst2.extend(["qiwsir","github"])
>>> lst2
[1, 2, 3, 'qiwsir', 'github'] #extendçç»æ
>>> len(lst2)
5
appendæ¯æ´å»ºå¶å°è¿½å ï¼extendæ¯ä¸ªä½åæ©ç¼ã
###list䏿å
ç´ ç个æ°
ä¸é¢çlen(L)ï¼å¯å¾å°listçé¿åº¦ï¼ä¹å°±æ¯list䏿å¤å°ä¸ªå
ç´ ãpythonçlistè¿æä¸ä¸ªæä½ï¼å°±æ¯æ°ä¸æ°æä¸ªå
ç´ å¨è¯¥listä¸åºç°å¤å°æ¬¡ï¼ä¹å°±æ¯æä¸ªå
ç´ æå¤å°ä¸ªã宿¹ææ¡£æ¯è¿ä¹è¯´çï¼
>list.count(x)
>Return the number of times x appears in the list.
ä¸å®è¦ä¸æå®éªï¼æè½çè§£ææ¡£ä¸ç²¾ç¼ç表达ã
>>> la = [1,2,1,1,3]
>>> la.count(1)
3
>>> la.append('a')
>>> la.append('a')
>>> la
[1, 2, 1, 1, 3, 'a', 'a']
>>> la.count('a')
2
>>> la.count(2)
1
>>> la.count(5) #NOTE:la䏿²¡æ5,使¯å¦æç¨è¿ç§æ¹æ³æ¾ï¼ä¸æ¥éï¼è¿åçæ¯æ°å0
0
###å
ç´ å¨listä¸çä½ç½®
[ãæå®¹ä¹å¤§çlist(1)ã](./113.md)ä¸å·²ç»æå°ï¼å¯ä»¥å°listä¸çå
ç´ ï¼ä»å·¦åå³ä¾æ¬¡ä»0å¼å§ç¼å·ï¼å»ºç«ç´¢å¼ï¼å¦æä»å³åå·¦ï¼å°±ä»-1å¼å§ä¾æ¬¡ç¼å·ï¼ï¼éè¿ç´¢å¼è½å¤æååºæä¸ªå
ç´ ï¼æè
æå 个å
ç´ ãå°±æ¯å¦è¿æ ·åï¼
>>> la
[1, 2, 3, 'a', 'b', 'c', 'qiwsir', 'python']
>>> la[2]
3
>>> la[2:5]
[3, 'a', 'b']
>>> la[:7]
[1, 2, 3, 'a', 'b', 'c', 'qiwsir']
妿èèåè¿æ¥çæ
åµï¼è½ä¸è½éè¿æä¸ªå
ç´ ï¼æ¾å°å®å¨listä¸çç¼å·å¢ï¼
çå®çéè¦å°±æ¯pythonçæ¹åï¼ä½ æ³å°ï¼pythonå°±åå°ã
>>> la
[1, 2, 3, 'a', 'b', 'c', 'qiwsir', 'python']
>>> la.index(3)
2
>>> la.index('a')
3
>>> la.index(1)
0
>>> la.index('qi') #妿ä¸åå¨ï¼å°±æ¥é
Traceback (most recent call last):
File "", line 1, in
ValueError: 'qi' is not in list
>>> la.index('qiwsir')
6
list.index(x)ï¼xæ¯listä¸çä¸ä¸ªå
ç´ ï¼è¿æ ·å°±è½å¤æ£ç´¢å°è¯¥å
ç´ å¨listä¸çä½ç½®äºãè¿ææ¯çæ£çç´¢å¼ï¼æ³¨æé£ä¸ªè±æåè¯indexã
ä¾ç¶æ¯ä¸ä¸æ¡å®æ¹è§£éï¼
>list.index(x)
>Return the index in the list of the first item whose value is x. It is an error if there is no such item.
æ¯ä¸æ¯è¯´çé常æ¸
æ¥æç½äºï¼
å
å°è¿éï¼ä¸è®²è¿ç»§ç»æå®¹ä¹å¤§çlist.