列表反轉(zhuǎn)
>>> blist=[1,2,3,4,5,6,7,8,9,10]
>>> blist[::-1] ?使用:: 符號 ? 從右邊第一個元素開始逆序
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> blist[::-2] ?從右邊第二個元素開始 間隔一個逆序
[10, 8, 6, 4, 2]
同理 blist[::3] 會得到[10, 7, 4, 1] 如果::后面跟的是正數(shù)
>>> blist[::1]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
blist[::2]
[1, 3, 5, 7, 9]
還有一種方式 使用reversed
>>> list(reversed(blist))
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
還有其他對list的操作:len() 筐带、+煞肾、*、in具篇、max()min() cmp()這跟對字符串的操作類似
比較重要的是列表的函數(shù)append()和extend()
append()函數(shù):
list.append(x) 等價于 a[len(a):] = [x] 其中l(wèi)en(a) 是列表a 的長度
>>> alist
['a', 'b', 'c']
>>> alist[len(alist):]=['d']
>>> alist
['a', 'b', 'c', 'd']
>>> alist.append('e')
>>> alist
['a', 'b', 'c', 'd', 'e']
extend 將一個列表追加到另外一個列表之后
>>> clist=['I','me','mine']
>>> clist.extend(blist) ?# 把 blist 追加到 clist 之后
>>> clist
['I', 'me', 'mine', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
注意被追加的內(nèi)容一定要是list類型
>>> la=[1,2,3]
>>> b="abc"
>>> la.extend(b)
>>> la
[1, 2, 3, 'a', 'b', 'c']
>>> c=5>>> la.extend(c) ?# c 是一個數(shù)值類型
Traceback (most recent call last):? File "", line 1, inla.extend(c)
TypeError: 'int' object is not iterable
list.extend(L) 等價于list[len(list):] = L ?L是帶并入的list
extend 是將另外一個元素增加到自己的列表中,但是這個元素必須是iterable 可迭代的
某些類型的對象是可迭代的 恩够,list 類型是可迭代的 ?字符串類型是不可迭代的
比如 增加的元素是字符串類型 “python”
la.extend("python") ?的時候會將"python" 字符串轉(zhuǎn)化為 ['p','y','t','h','o','n']
append 和extend都是原地修改列表代箭,所以沒有返回值,沒有返回值就不能賦值給某個變量
>>> one=["good","good","study"]
>>> one.extend(['day','day','up'])
>>> one
['good', 'good', 'study', 'day', 'day', 'up']
>>> two = one
>>> two
['good', 'good', 'study', 'day', 'day', 'up']
>>> three = one.extend(['day','day','up']) ?# 不能賦值 所以three變量什么值都沒有
>>> lst=[1,2,3]
>>> lst.append(["java",'pyhton'])
>>> lst
[1, 2, 3, ['java', 'pyhton']]
>>> lst=[1,2,3]
>>> lst.extend(['java', 'pyhton'])
>>> lst
[1, 2, 3, 'java', 'pyhton']