python_list

不是线程安全的容器

切片

array = [1, 2, 5, 3, 6, 8, 4]
array[0:] #列出0以后的 [1, 2, 5, 3, 6, 8, 4]
array[1:] #列出1以后的 [2, 5, 3, 6, 8, 4]
array[:-1] #列出-1之前的 [1, 2, 5, 3, 6, 8]
array[::2] # [1, 5, 6, 4]
array[2::] # [5, 3, 6, 8, 4]
array[::3] # [1, 3, 4]
array[::4] # [1, 6]
array[::-1] # [4, 8, 6, 3, 5, 2, 1]
array[::-2] # [4, 6, 5, 1]

# 间隔切片
list = [1,2,3,4,5,6]
n = len(list)
inter = 2 # 间隔
list_2 = list[0:n:inter]

输出

# 打印列表, 每个元素*60
print(*[i * 60 for i in val])

初始化

# 12个子列表
numbers = [[] for row in range(12)]
# 12个子列表,每个列表11个元素
numbers = [[for row in range(11)] for row in range(12)]

# argument-unpacking operator
SensorCount = 8
cols = [*range(SensorCount)]
# result 0-7
cols = ["{:d}".format(x) for x in cols]
# result '0'-'7'

插入

list.insert(index, obj)

ret.insert(0, code['symbol'])

追加

list = []          ## 空列表
list.append('Google') ## 使用 append() 添加元素
list.append('Runoob')
print list

合并

datas.extend(aa)

拷贝 copy

只有 copy.deepcopy 能拷贝嵌套数组的列表

默认是引用传值的

>>> import copy
>>> a = [[10], 20]
>>> b = a[:]
>>> c = list(a)
>>> d = a * 1
>>> e = copy.copy(a)
>>> f = copy.deepcopy(a)
>>> a.append(21)
>>> a[0].append(11)
>>> print id(a), a
[[10, 11], 20, 21]
>>> print id(b), b
[[10, 11], 20]
>>> print id(c), c
[[10, 11], 20]
>>> print id(d), d
[[10, 11], 20]
>>> print id(e), e
[[10, 11], 20]
>>> print id(f), f
[[10], 20]

排序

from operator import itemgetter
picked_sorted = sorted(picked, key=itemgetter(3))

sorted(iterable, key=None, reverse=False)

colls = []
colls.sort(reverse=True)
# 默认是升序, reverse=True 是降序

修改元素值

pre_list = []
pre_list.append('mv2=T2 - 3/4*t1 - 1/4*t5')
pre_list.append('mv3=t3 - 0.5*(t1+t5)')
pre_list.append('mv4=t4 - 3/4*t5 - 1/4*t1')

for it in range(len(pre_list)):
pre_list[it] = pre_list[it].lower()

remove

# Remove all items: clear()
# Remove an item by index and get its value: pop()
# Remove an item by value: remove()
# Remove items by index or slice: del
# Remove multiple items that meet the condition: List comprehensions