>>> li ['a','b','mpilgrim','z','example'] >>> li.append("new") >>> li ['a','b','mpilgrim','z','example','new'] >>> li.insert(2,"new") >>> li ['a','b','new','mpilgrim','z','example','new'] >>> li.extend(["two","elements"]) >>> li ['a','b','new','mpilgrim','z','example','new','two','elements']
4.list 搜索
實例
>>> li ['a','b','new','mpilgrim','z','example','new','two','elements'] >>> li.index("example") 5 >>> li.index("new") 2 >>> li.index("c")
Traceback (innermost last):
?File "<interactive input>", line 1,in ? ValueError: list.index(x): x notinlist >>>"c"in li False
5.list 刪除元素
實例
>>> li ['a','b','new','mpilgrim','z','example','new','two','elements'] >>> li.remove("z") ? >>> li ['a','b','new','mpilgrim','example','new','two','elements'] >>> li.remove("new") ? ?# 刪除首次出現(xiàn)的一個值 >>> li ['a','b','mpilgrim','example','new','two','elements'] ? ?# 第二個 'new' 未刪除 >>> li.remove("c") ? ? #list 中沒有找到值, Python 會引發(fā)一個異常
Traceback (innermost last):
?File "<interactive input>", line 1,in ? ValueError: list.remove(x): x notinlist >>> li.pop() ? ? ?# pop 會做兩件事: 刪除 list 的最后一個元素, 然后返回刪除元素的值。 'elements' >>> li ['a','b','mpilgrim','example','new','two']
6.list 運算符
實例
>>> li =['a','b','mpilgrim'] >>> li = li + ['example','new'] >>> li ['a','b','mpilgrim','example','new'] >>> li +=['two']???????? >>> li ['a','b','mpilgrim','example','new','two'] >>> li =[1,2] * 3 >>> li [1,2,1,2,1,2]
7.使用join鏈接list成為字符串
實例
>>> params ={"server":"mpilgrim","database":"master","uid":"sa","pwd":"secret"} >>>["%s=%s" % (k, v)for k, v in params.items()] ['server=mpilgrim','uid=sa','database=master','pwd=secret'] >>>";".join(["%s=%s" % (k, v)for k, v in params.items()]) 'server=mpilgrim;uid=sa;database=master;pwd=secret'
join 只能用于元素是字符串的 list; 它不進行任何的類型強制轉(zhuǎn)換。連接一個存在一個或多個非字符串元素的 list 將引發(fā)一個異常。
8.list 分割字符串
實例
>>> li =['server=mpilgrim','uid=sa','database=master','pwd=secret'] >>> s =";".join(li) >>> s 'server=mpilgrim;uid=sa;database=master;pwd=secret' >>> s.split(";") ? ['server=mpilgrim','uid=sa','database=master','pwd=secret'] >>> s.split(";",1) ['server=mpilgrim','uid=sa;database=master;pwd=secret']
split 與 join 正好相反, 它將一個字符串分割成多元素 list。
注意, 分隔符 (";") 被完全去掉了, 它沒有在返回的 list 中的任意元素中出現(xiàn)。
split 接受一個可選的第二個參數(shù), 它是要分割的次數(shù)。
9.list 的映射解析
實例
>>> li =[1,9,8,4] >>>[elem*2for elem in li]??? [2,18,16,8] >>> li [1,9,8,4] >>> li =[elem*2for elem in li] >>> li [2,18,16,8]
10.dictionary 中的解析
實例
>>> params ={"server":"mpilgrim","database":"master","uid":"sa","pwd":"secret"} >>> params.keys()
dict_keys(['server','database','uid','pwd']) >>> params.values()
dict_values(['mpilgrim','master','sa','secret']) >>> params.items()
dict_items([('server','mpilgrim'),('database','master'),('uid','sa'),('pwd','secret')]) >>>[k for k, v in params.items()] ['server','database','uid','pwd'] >>>[v for k, v in params.items()] ['mpilgrim','master','sa','secret'] >>>["%s=%s" % (k, v)for k, v in params.items()] ['server=mpilgrim','database=master','uid=sa','pwd=secret']
11.list 過濾
實例
>>> li =["a","mpilgrim","foo","b","c","b","d","d"] >>>[elem for elem in li iflen(elem)>1] ['mpilgrim','foo'] >>>[elem for elem in li if elem !="b"] ['a','mpilgrim','foo','c','d','d'] >>>[elem for elem in li if li.count(elem)==1] ['a','mpilgrim','foo','c']