您的位置:首页 > 编程语言 > Python开发

Python核心数据类型(内置对象)—— 列表(list)

2015-12-03 10:43 856 查看
 列表是一个任意类型的对象的有序集合,大小可变。

序列操作(list是序列的一种,列表支持所有序列操作)

>>> L1 = [123, 'abd', 1.34] 

list

list 的分片(slice)

通过指定 2 个索引得到 list 的子集, 叫做一个“slice”。返回值是一个新的 list, 它包含了 list 中按顺序从第一个 slice 索引开始, 直到但是不包括第二个 slice 索引的所有元素。

>>> l = ['a', 'b', 'c', 'd', 'e', 'f']

>>> l[0]  # 获取第一个元素,索引值为0

'a'

>>> l[-1]  # 获取最后一个元素,等价于l[len(l)-1]

'f'

>>> l[6]  # 指定错误的索引值会报错

IndexError: list index out of range

>>> l[1:3]  # 从索引1开始,直到索引3但不包含3。可以理解为:第一个slice 索引指定了我们想要的第一个元素, 第二个 slice 索引指定了第一个不想要的元素。

['b', 'c']

 

>>> l[1:1]  # 如果两个索引相同,则返回一个空的list

[]

>>> l[3:1]  # 如果第二个索引比第一索引小,也会返回一个空的list

[]

>>> l[:3]   # 省略slice第一个索引默认从0开始,等价于 l[0:3]

['a', 'b', 'c']

>>> l[3:]  # 省略slice第二个索引默认到最后一个元素,等价于 l[0:len(l)],但注意与l[3:-1]是不同的

['d', 'e', 'f']

>>> l[3:-1]  # slice第二个索引是-1时,并不包含最后一个元素

['d', 'e']

 

>>> l[-2:-1]  # 可以从后往前进行切片

['e']

>>> l[-1:-1]  # 如果两个索引相同,则返回一个空的list

[]

>>> l[-1:-3]  # 如果第二个索引比第一索引小,也会返回一个空的list

[]

 

list 的合并

>>> l1=[1, 2, 3]

>>> l2=['a', 'b', 'c']

1. 直接相加,得到一个新的list

>>> l1 + l2 

[1, 2, 3, 'a', 'b', 'c']

>>> l3 = l1 + l2

>>> print(l1, l2, l3)

[1, 2, 3] ['a', 'b', 'c'] [1, 2, 3, 'a', 'b', 'c']

2. 用list的extend方法,l1.extend(l2),该方法将参数l2的全部元素添加到l1的尾部

>>> l1.extend(l2)

>>> print(l1, l2)

[1, 2, 3, 'a', 'b', 'c'] ['a', 'b', 'c']

3. 用切片(slice)方法

将l2的全部元素添加到l1的尾部:

>>> l1[len(l1):len(l1)] = l2

>>> l1

[1, 2, 3, 'a', 'b', 'c']

将l2的全部元素添加到l1的头部:

>>> l1[0:0] = l2

>>> l1

['a', 'b', 'c', 1, 2, 3]

将l2的全部元素添加到l1的中间位置(可以插到任意位置):

>>> l1[1:1] = l2

>>> l1

[1, 'a', 'b', 'c', 2, 3]

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python list 列表 分片 slice