用[]
來表示一個列表练般,列表中的元素可以是任意類型疲眷,如 int
,str
, 可以是另一個 list
,也可以是一個字典药薯。所以說 list
是 python
的苦力绑洛,什么活都可干。
>>> list = ["string",86,[1,2,3],{"a":3,"b":4,"c":"hi"}]
>>> type(list)
<type 'list'>
索引和切片
和之前字符串使用的方法一致童本,不過因為列表中可能什么都有真屯,所以可以對元素進(jìn)行二次切片
>>> list[0]
'string'
>>> list[0][2:5] #對列表中第一個字符換進(jìn)行了二次切分
'rin'
>>> list[3]["a"] #對列表中第4個字典換進(jìn)行了二次切分
3
反轉(zhuǎn)
這個功能會經(jīng)常用到,字符串也可以使用,并不會更改原值穷娱,會創(chuàng)建新值绑蔫,原變量不變
# 列表的反轉(zhuǎn)
>>> list = [1,2,3,4,5]
>>> list[::-1]
[5, 4, 3, 2, 1]
# 字符串的反轉(zhuǎn)
>>> a = "hello"
>>> a[::-1]
'olleh'
另一種方法,使用reversed
函數(shù)
>>> list(reversed("abcd"))
['d', 'c', 'b', 'a']
>>> ha = [1,2,3,4.5]
>>> list(reversed(ha))
[4.5, 3, 2, 1]
list 的基本操作
和字符串的差不多
len() 判斷長度
>>> lst
['python', 'java', 'c++']
>>> len(lst)
3
+运沦,連接兩個序列
>>> lst
['python', 'java', 'c++']
>>> alst
[1, 2, 3, 4, 5, 6]
>>> lst + alst
['python', 'java', 'c++', 1, 2, 3, 4, 5, 6]
*,重復(fù)元素
>>> lst
['python', 'java', 'c++']
>>> lst * 3
['python', 'java', 'c++', 'python', 'java', 'c++', 'python', 'java', 'c++']
in, 成員資格判斷
>>> "python" in lst
True
>>> "c#" in lst
False
max()和min()配深,取最大最小值
以int類型元素為例携添。如果不是,都是按照字符在ascii編碼中所對應(yīng)的數(shù)字進(jìn)行比較的篓叶。
>>> alst
[1, 2, 3, 4, 5, 6]
>>> max(alst)
6
>>> min(alst)
1
>>> max(lst)
'python'
>>> min(lst)
'c++'
cmp()烈掠,比較
>>> lsta = [2,3]
>>> lstb = [2,4]
>>> cmp(lsta,lstb)
-1
>>> lstc = [2]
>>> cmp(lsta,lstc)
1
>>> lstd = ['2','3']
>>> cmp(lsta,lstd)
-1
append(), 追加元素
>>> a = ["good","python","I"]
>>> a
['good', 'python', 'I']
>>> a.append("like") #向list中添加str類型"like"
>>> a
['good', 'python', 'I', 'like']
>>> a.append(100) #向list中添加int類型100
>>> a
['good', 'python', 'I', 'like', 100]
另一種方法:
list.append(x)
等效于:a[len(a):]=[x]
>>> a
['good', 'python', 'I', 'like', 100]
>>> a[len(a):]=[3] #len(a),即得到list的長度,這個長度是指list中的元素個數(shù)澜共。
>>> a
['good', 'python', 'I', 'like', 100, 3]
>>> len(a)
6
>>> a[6:]=['xxoo']
>>> a
['good', 'python', 'I', 'like', 100, 3, 'xxoo']