python的list

来源:互联网 发布:软件平台推广思路 编辑:程序博客网 时间:2024/05/16 07:26
1.定义list
  1. >>> li =["a","b", "mpilgrim", "z", "example"]
  2. >>> li
  3. ['a','b', 'mpilgrim', 'z', 'example']
  4. >>> li[0]
  5. 'a'
  6. >>> li[4]
  7. 'example'


2.负的list 索引
  1. >>> li
  2. ['a','b', 'mpilgrim', 'z', 'example']
  3. >>> li[-1]
  4. 'example'
  5. >>> li[-3]
  6. 'mpilgrim'
  7. >>> li
  8. ['a','b', 'mpilgrim', 'z', 'example']
  9. >>> li[1:3]
  10. ['b','mpilgrim']
  11. >>> li[1:-1]
  12. ['b','mpilgrim','z']
  13. >>> li[0:3]
  14. ['a','b', 'mpilgrim']


3.向 list 中增加元素
  1. >>> li
  2. ['a','b', 'mpilgrim', 'z', 'example']
  3. >>> li.append("new")
  4. >>> li
  5. ['a','b', 'mpilgrim', 'z', 'example','new']
  6. >>> li.insert(2,"new")
  7. >>> li
  8. ['a','b', 'new', 'mpilgrim', 'z', 'example','new']
  9. >>> li.extend(["two","elements"])
  10. >>> li
  11. ['a','b', 'new', 'mpilgrim', 'z', 'example','new','two','elements']


4.搜索 list
  1. >>> li
  2. ['a','b', 'new', 'mpilgrim', 'z', 'example','new','two','elements']
  3. >>> li.index("example")
  4. 5
  5. >>> li.index("new")
  6. 2
  7. >>> li.index("c")
  8. Traceback (innermostlast):
  9. File "<interactive input>", line1, in ?
  10. ValueError: list.index(x): xnot in list
  11. >>> "c"in li
  12. False


5.从 list 中删除元素
  1. >>> li
  2. ['a','b', 'new', 'mpilgrim', 'z', 'example','new','two','elements']
  3. >>> li.remove("z")
  4. >>> li
  5. ['a','b', 'new', 'mpilgrim', 'example', 'new', 'two', 'elements']
  6. >>> li.remove("new")
  7. >>> li
  8. ['a','b', 'mpilgrim', 'example', 'new', 'two', 'elements']
  9. >>> li.remove("c")
  10. Traceback (innermostlast):
  11. File "<interactive input>", line1, in ?
  12. ValueError: list.remove(x): xnot in list
  13. >>> li.pop()
  14. 'elements'
  15. >>> li
  16. ['a','b', 'mpilgrim', 'example', 'new', 'two']
remove 从 list 中删除一个值的首次出现。
remove 仅仅 删除一个值的首次出现。 在这里, 'new' 在 list 中出现了两次, 但 li.remove("new") 只删除了 'new' 的首次出现。
如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。
pop 会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。


6.list 运算符
  1. >>> li =['a','b', 'mpilgrim']
  2. >>> li = li+ ['example','new']
  3. >>> li
  4. ['a','b', 'mpilgrim', 'example', 'new']
  5. >>> li +=['two']
  6. >>> li
  7. ['a','b', 'mpilgrim', 'example', 'new', 'two']
  8. >>> li =[1,2] * 3
  9. >>> li
  10. [1,2, 1, 2,1, 2]


7.使用join链接list成为字符串
  1. >>> params= {"server":"mpilgrim","database":"master","uid":"sa","pwd":"secret"}
  2. >>> ["%s=%s"% (k, v)for k, vin params.items()]
  3. ['server=mpilgrim','uid=sa','database=master','pwd=secret']
  4. >>> ";".join(["%s=%s"% (k, v)for k, vin params.items()])
  5. 'server=mpilgrim;uid=sa;database=master;pwd=secret'
join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。


8.分割字符串
  1. >>> li =['server=mpilgrim','uid=sa','database=master','pwd=secret']
  2. >>> s =";".join(li)
  3. >>> s
  4. 'server=mpilgrim;uid=sa;database=master;pwd=secret'
  5. >>> s.split(";")
  6. ['server=mpilgrim','uid=sa','database=master','pwd=secret']
  7. >>> s.split(";",1)
  8. ['server=mpilgrim','uid=sa;database=master;pwd=secret']
split 与 join 正好相反, 它将一个字符串分割成多元素 list。
注意, 分隔符 (“;”) 被完全去掉了, 它没有在返回的 list 中的任意元素中出现。
split 接受一个可选的第二个参数, 它是要分割的次数。


9.list的映射解析
  1. >>> li =[1,9, 8, 4]
  2. >>> [elem*2for elem in li]
  3. [2,18, 16, 8]
  4. >>> li
  5. [1,9, 8, 4]
  6. >>> li =[elem*2for elem in li]
  7. >>> li
  8. [2,18, 16, 8]


10.dictionary中的解析
  1. >>> params= {"server":"mpilgrim","database":"master","uid":"sa","pwd":"secret"}
  2. >>> params.keys()
  3. ['server','uid','database','pwd']
  4. >>> params.values()
  5. ['mpilgrim','sa', 'master', 'secret']
  6. >>> params.items()
  7. [('server','mpilgrim'),('uid','sa'),('database','master'),('pwd','secret')]
  8. >>> [kfor k, vin params.items()]
  9. ['server','uid','database','pwd']
  10. >>> [vfor k, vin params.items()]
  11. ['mpilgrim','sa', 'master', 'secret']
  12. >>> ["%s=%s"% (k, v)for k, vin params.items()]
  13. ['server=mpilgrim','uid=sa','database=master','pwd=secret']


11.列表过滤
  1. >>> li =["a","mpilgrim","foo","b", "c", "b","d", "d"]
  2. >>> [elemfor elem in liif len(elem)> 1]
  3. ['mpilgrim','foo']
  4. >>> [elemfor elem in liif elem !="b"]
  5. ['a','mpilgrim','foo','c', 'd', 'd']
  6. >>> [elemfor elem in liif li.count(elem)== 1]
  7. ['a','mpilgrim','foo','c']
原创粉丝点击