Chinaunix首页 | 论坛 | 博客
  • 博客访问: 138373
  • 博文数量: 43
  • 博客积分: 810
  • 博客等级: 军士长
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-03 02:39
文章分类
文章存档

2011年(43)

分类: Python/Ruby

2011-06-27 20:59:45

List数组是一种数据类型,它可以保存任意对象, 并且可以在增加新元素时动态扩展
List 的定义:方括号括起来,逗号为分隔符,从0开始的位置为取值位
是一个用方括号包括起来以逗号为分隔符的有序元素的集合
  1. >>> lig = ["a","b","c","lista","Lista"]
  2. >>> li[0]
  3. Traceback (most recent call last):
  4.   File "", line 1, in <module>
  5. NameError: name 'li' is not defined
  6. >>> lig[0]
  7. 'a'
  8. >>> lig[3]
  9. 'lista'
  10. >>> lig[4]
  11. 'Lista'
  12. >>>

分片:前闭后开的区间
  1. >>> lig[1:4]
  2. ['b', 'c', 'lista']
  3. >>>
  4. >>> lig[1:-2]
  5. ['b', 'c']
  6. >>> lig[1:-0]
  7. []
  8. >>> lig[1:-1]
  9. ['b', 'c', 'lista']
  10. >>> lig[1:]
  11. ['b', 'c', 'lista', 'Lista']
  12. >>>
增加元素:追加\插入\扩展或连接
  append 向 list 的末尾追加单个元素。
  insert 将单个元素插入到 list 中。数值参数是插入点的索引。请注意, list 中的元素不必唯一, 现在有两个独立的元素具有 'new' 这个值, li[2] 和 li[6]。
  extend 用来连接 list。请注意不要使用多个参数来调用 extend, 要使用一个 list 参数进行调用。在本例中, 这个 list 有两个元素。
append 追加单个元素,extend连接的是list
  1. >>> lig.append('app1')
  2. >>> lig
  3. ['a', 'b', 'c', 'lista', 'Lista', 'app1']
  4. >>> lig.insert(1,'a1')
  5. >>> lig
  6. ['a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1']
  7. >>> lig.extend(lig)
  8. >>> lig
  9. ['a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1']
  10. >>> lig.append(lig)
  11. >>> lig
  12. ['a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', [...]]
  13. >>> len(lig)
  14. 15
  15. >>> lig[-1]
  16. ['a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', [...]]
  17. >>> lig[15]
  18. Traceback (most recent call last):
  19.   File "", line 1, in <module>
  20. IndexError: list index out of range
  21. >>> lig[14]
  22. ['a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', [...]]

搜索:返回第1个找到的元素的位置
lig.index(lig)的返回结果可以看出,我们用lig.append(lig)将它本身作为一个元素加入到了lig列表中
  1. >>> lig.index("L")
  2. Traceback (most recent call last):
  3.   File "", line 1, in <module>
  4. ValueError: list.index(x): x not in list
  5. >>> lig.index("Lista")
  6. 5
  7. >>> lig.index("lista")
  8. 4
  9. >>> lig.index("a")
  10. 0
  11. >>> lig.index("a1")
  12. 1
  13. >>> lig.index(lig)
  14. 14
  15. >>>
删除元素:
remove 移除某个找到的第1个元素
pop 移除最后一个元素并返回其值
  1. >>> li.remove("a")
  2. Traceback (most recent call last):
  3.   File "", line 1, in <module>
  4. NameError: name 'li' is not defined
  5. >>> lig.remove("a")
  6. >>> lig
  7. ['a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', [...]]
  8. >>> lig.pop()
  9. ['a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1']
  10. >>> lig
  11. ['a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1']
  12. >>>
运算:
+ 类似extend,但效率不如extend
+= 运算符可用于 list, 字符串和整数, 并且它也可以被重载用于用户自定义的类中
* 运算符可以作为一个重复器作用于 list
  1. >>> lig
  2. ['a1', 'b', 'c', 'lista']
  3. >>> lig = lig+lig
  4. >>> lig
  5. ['a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista']
  6. >>> lig +=lig
  7. >>> lig
  8. ['a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista']
  9. >>> lig =lig * 2
  10. >>> lig
  11. ['a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista']
  12. >>> len(lig)
  13. 32
  14. >>>
阅读(1446) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~