Python list 常用操作
Python list 常用操作的例子
1.list 定义
>>> li = ["a", "b", "c"]
>>> li
['a', 'b', 'c']
>>> li[0]
'a'
2.list 负数索引
>>> li = ["a", "b", "c"]
>>> li
['a', 'b', 'c']
>>> li[-1]
'c'
>>> li[-3]
'a'
>>> li[1:3]
['b', 'c']
>>> li[1:-1]
['b']
>>> li[0:3]
['a', 'b', 'c']
3.list 增加元素
>>> li = ['a' , 'b' , 'c']
>>> li
['a' , 'b' , 'c']
>>> li.append("d")
>>> li
['a' , 'b' , 'c' , 'd']
>>> li.insert(2,"f" )
>>> li
['a' , 'b' , 'f' , 'c' , 'd']
>>> li.extend(["g" , "h"])
>>> li
['a', 'b', 'f', 'c', 'd', 'g', 'h']
4.list 搜索
>>> li = ['a' , 'b' , 'c' , 'd' , 'e' , 'f']
>>> li
[ 'a' , 'b' , 'c' , 'd' , 'e' , 'f']
>>> li.index("c")
2
>>> li.index("b")
1
5.list 删除元素
>>> li = ['a' , 'b' , 'c' , 'd' , 'e' , 'f']
>>> li
['a' , 'b' , 'c' , 'd' , 'e' , 'f']
>>> li.remove("e")
>>> li
['a' , 'b' , 'c' , 'd' ,'f']
>>> li.pop() # pop 会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。
'f'
>>> li
['a', 'b', 'c', 'd']
6.list 运算符
>>> li = ['a' , 'b' , 'c']
>>> li = li + ['d','e' , 'f']
>>> li
['a', 'b', 'c', 'd', 'e', 'f']
>>> li += ['g']
>>> li
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> li = [1,2,3] * 3
>>> li
[1, 2, 3, 1, 2, 3, 1, 2, 3]
7.使用join链接list成为字符串
>>> params = {"a": "aaa" , "b": "bbb" , "c": "ccc" , "d": "ddd"}
>>> ["%s=%s" % (k , v) for k, v in params.items ()]
['a=aaa', 'b=bbb', 'c=ccc', 'd=ddd']
>>> ";".join(["%s=%s" % (k,v) for k, v in params.items()])
'a=aaa;b=bbb;c=ccc;d=ddd'
join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。
8.list 分割字符串
>>> params = {"a": "aaa" , "b": "bbb" , "c": "ccc" , "d": "ddd"}
>>> s = ";".join(params)
>>> s
'a;b;c;d'
>>> s.split(";")
['a', 'b', 'c', 'd']
>>> s.split(";", 1)
['a', 'b;c;d']
split 与 join 正好相反, 它将一个字符串分割成多元素 list。
注意, 分隔符 (";") 被完全去掉了, 它没有在返回的 list 中的任意元素中出现。
split 接受一个可选的第二个参数, 它是要分割的次数。
9.list 的映射解析
>>> li = [1 , 2 , 3 , 4]
>>> [elem* 2 for elem in li]
[ 2 , 4 , 6 , 8 ]
>>> li
[1 , 2 , 3 , 4]
>>> li = [elem* 2 for elem in li]
>>> li
[2, 4, 6, 8]
10.dictionary 中的解析
>>> params = {"a": "aaa" , "b": "bbb" , "c": "ccc" , "d": "ddd"}
>>> params.keys()
dict_keys(['a', 'b', 'c', 'd'])
>>> params. values ()
dict_values(['aaa', 'bbb', 'ccc', 'ddd'])
>>> params. items ()
dict_items([('a', 'aaa'), ('b', 'bbb'), ('c', 'ccc'), ('d', 'ddd')])
>>> [k for k, v in params.items ()]
['a', 'b', 'c', 'd']
>>> [v for k , v in params. items ()]
['aaa', 'bbb', 'ccc', 'ddd']
>>> ["%s=%s" % (k, v ) for k, v in params.items ()]
['a=aaa', 'b=bbb', 'c=ccc', 'd=ddd']
11.list 过滤
>>> li = ["a" , "abdb" , "c" , "b" , "d" , "d"]
>>> [elem for elem in li if len(elem) > 1]
['abdb']
>>> [elem for elem in li if elem != "b"]
['a', 'abdb', 'c', 'd', 'd']
>>> [elem for elem in li if li.count(elem) == 1]
['a', 'abdb', 'c', 'b']