Python关键知识点整理(一)
Build-in Data Sturcture
使用List的几点注意
- insert 是一个计算复杂度较高的操作,尽量使用append方法。因为插入点之后的元素,都需要向后移动。如果需要在队列头、尾插入数据,可以使用collections.deque (a double-ended queue)。
b_list=[2,3,None,5]
b_list.append(1, 'red') # do not use this.
- 队列可以使用+,实现list concatenates。但是list concatenation是一个高复杂度的操作,因为会生产一个新list,同时把元素拷贝过去。建议使用extend方法替代。
everything = []
for chunk in list_of_lists:
everything.extend(chunk)
优于
everything = []
for chunk in list_of_lists:
everything = everything + chunk
Build-in Sequence function
enumerate:
用法:
for i, value in enumerate(collection):
# do something with value
等价于
i = 0
for value in collection:
# do something with value
i += 1
In [83]: some_list = ['foo', 'bar', 'baz']
In [84]: mapping = {}
In [85]: for i, v in enumerate(some_list):
....: mapping[v] = i
In [86]: mapping
Out[86]: {'bar': 1, 'baz': 2, 'foo': 0}
sorted:
返回一个新的list。和List的sort方法参数相同。
In [87]: sorted([7, 1, 2,