python 数据介绍
介绍
列表 []
说明:
- 索引从左到右,默认0开始的,最大范围是
数组长度 -1
- 索引从右到左,默认-1开始的,最大范围是数组的开头
- 常见操作:
- 访问索引:
arr[index]
- 超出索引报错:
IndexError: string index out of range
- 追加元素:
arr.append(<x>)
- 插入元素:
arr.insert(index, <x>)
- 如果位置大于列表当然的长度,则后append 的结果是一样的,添加到最后。列表是从0 开始计数的,即第1个元素的索引是0
- 扩充列表:
arr.extend(<x>)
,其中 <x>
为可迭代序列
- 列表后删除元素:
arr.pop()
arr.pop(2)
按照索引删除元素,默认为最后一个
- 搜索删除元素:
arr.remove(<x>)
- 从0开始索引,直到匹配到相等的第一个元素,删掉该元素,只会删除一个
- 修改元素:
arr[index] = <new-value>
- 获取指定元素的索引:
arr.index(元素,开始,结束)
返回匹配到的第一个元素的索引
- 反转数组:
arr.reverse()
arr.sort()
方法用于在原来位置对列表进行排序,注意内存是不变的
使用切片获取新地址
>>> x= [4, 6, 2, 1, 7, 9]
>>> x
[4, 6, 2, 1, 7, 9]
>>> id(x)
43267816
>>> y = x
>>> id(y)
43267816
>>> y = x[:]
>>> y
[4, 6, 2, 1, 7, 9]
>>> id(y)
43246656
arr = range(1, 10) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 每隔2去一个
arr[::2] # [1, 3, 5, 7, 9]
# 每隔2去一个,倒序
arr[::-2] # [9, 7, 5, 3, 1]
# 从下标为2开始取数
arr[2::] # [3, 4, 5, 6, 7, 8, 9]
示例
fruits = ['apple', 'banana', 'orange']
big_fruits = [list(fruits) for i in range(3)]
[i for i in range(10) if i%2 == 0]
# [0, 2, 4, 6, 8]
b =[1,3,4,5,'iloveyou']
B.append(6);
>>> x
[1, 2, 1]
>>> del x[2]
>>> x
[1, 2]
>>> x[1:]
SyntaxError: invalid syntax
>>> x[1:]
[2]
>>> x
[1, 2]
>>> x[1:1] = [2, 3, 4]
>>> x
[1, 2, 3, 4, 2]
>>> x[2:] = []
>>> x
[1, 2]
>>> x = [[1,2], 1, 1, [2, 1, [1, 2]]]
>>> x
[[1, 2], 1, 1, [2, 1, [1, 2]]]
>>> x.count(1)
2
>>> x.count([1, 2])
1
>>> x.append(3)
>>> x
[[1, 2], 1, 1, [2, 1, [1, 2]], 3]
>>>
>>> a= [1, 2, 3]
>>> b = [3, 4, 5]
>>> a.append(b)
>>> a
[1, 2, 3, [3, 4, 5]]
>>> b
[3, 4, 5]
>>> id(a)
43400688
>>> a = [1, 2, 3]
>>> id(a)
43428440
>>> a.append(b)
>>> id(a)
43428440
>>> a
[1, 2, 3, [3, 4, 5]]
>>> a.extend(b)
>>> a
[1, 2, 3, [3, 4, 5], 3, 4, 5]
>>> a+b
[1, 2, 3, [3, 4, 5], 3, 4, 5, 3, 4, 5]
>>> a
[1, 2, 3, [3, 4, 5], 3, 4, 5]
>>> b
[3, 4, 5]
>>>
>>> a = a + b
>>> a
[1, 2, 3, [3, 4, 5], 3, 4, 5, 3, 4, 5]
>>> b
[3, 4, 5]
>>>