List数组是一种数据类型,它可以保存任意对象, 并且可以在增加新元素时动态扩展
List 的定义:方括号括起来,逗号为分隔符,从0开始的位置为取值位
是一个用方括号包括起来以逗号为分隔符的有序元素的集合
- >>> lig = ["a","b","c","lista","Lista"]
- >>> li[0]
- Traceback (most recent call last):
- File "", line 1, in <module>
- NameError: name 'li' is not defined
- >>> lig[0]
- 'a'
- >>> lig[3]
- 'lista'
- >>> lig[4]
- 'Lista'
- >>>
分片:前闭后开的区间
- >>> lig[1:4]
- ['b', 'c', 'lista']
- >>>
- >>> lig[1:-2]
- ['b', 'c']
- >>> lig[1:-0]
- []
- >>> lig[1:-1]
- ['b', 'c', 'lista']
- >>> lig[1:]
- ['b', 'c', 'lista', 'Lista']
- >>>
增加元素:追加\插入\扩展或连接
append 向 list 的末尾追加单个元素。
insert 将单个元素插入到 list 中。数值参数是插入点的索引。请注意, list 中的元素不必唯一, 现在有两个独立的元素具有 'new' 这个值, li[2] 和 li[6]。
extend 用来连接 list。请注意不要使用多个参数来调用 extend, 要使用一个 list 参数进行调用。在本例中, 这个 list 有两个元素。
append 追加单个元素,extend连接的是list
- >>> lig.append('app1')
- >>> lig
- ['a', 'b', 'c', 'lista', 'Lista', 'app1']
- >>> lig.insert(1,'a1')
- >>> lig
- ['a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1']
- >>> lig.extend(lig)
- >>> lig
- ['a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1']
- >>> lig.append(lig)
- >>> lig
- ['a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', [...]]
- >>> len(lig)
- 15
- >>> lig[-1]
- ['a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', [...]]
- >>> lig[15]
- Traceback (most recent call last):
- File "", line 1, in <module>
- IndexError: list index out of range
- >>> lig[14]
- ['a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', [...]]
搜索:返回第1个找到的元素的位置
lig.index(lig)的返回结果可以看出,我们用lig.append(lig)将它本身作为一个元素加入到了lig列表中
- >>> lig.index("L")
- Traceback (most recent call last):
- File "", line 1, in <module>
- ValueError: list.index(x): x not in list
- >>> lig.index("Lista")
- 5
- >>> lig.index("lista")
- 4
- >>> lig.index("a")
- 0
- >>> lig.index("a1")
- 1
- >>> lig.index(lig)
- 14
- >>>
删除元素:
remove 移除某个找到的第1个元素
pop 移除最后一个元素并返回其值
- >>> li.remove("a")
- Traceback (most recent call last):
- File "", line 1, in <module>
- NameError: name 'li' is not defined
- >>> lig.remove("a")
- >>> lig
- ['a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1', [...]]
- >>> lig.pop()
- ['a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1']
- >>> lig
- ['a1', 'b', 'c', 'lista', 'Lista', 'app1', 'a', 'a1', 'b', 'c', 'lista', 'Lista', 'app1']
- >>>
运算:
+ 类似extend,但效率不如extend
+= 运算符可用于 list, 字符串和整数, 并且它也可以被重载用于用户自定义的类中
* 运算符可以作为一个重复器作用于 list
- >>> lig
- ['a1', 'b', 'c', 'lista']
- >>> lig = lig+lig
- >>> lig
- ['a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista']
- >>> lig +=lig
- >>> lig
- ['a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista', 'a1', 'b', 'c', 'lista']
- >>> lig =lig * 2
- >>> lig
- ['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']
- >>> len(lig)
- 32
- >>>
阅读(1479) | 评论(0) | 转发(0) |