python 列表使用注意事项

1. 删除元素问题

删除列表的元素,一定要倒序删除
因为后边的元素会自动的覆盖到上一个被删除的元素的位置上,如果此时for循环正向运行,正好会掠过这个往前移的元素,继续往下走。会造成遍历的遗漏

list01 = [3,45,8,12,36,7,3]
for item in list01:
	if item %2:
		list01.remove(item)
print(list01)	#打印结果为[45,8,12,36,3],发现45和3都还在

修改如下

for i in range(len(list01)-1,-1,-1):	#从后向前删
	if list[i] % 2:
		print(list01[i])
		del list[i]
print(list01)

2. 浪费空间问题

有些操作会产生新的字符串,额外占用空间

str_result = ' '
for i in range(10):
	str_result += str(i)	#每次执行+=操作都会产生新的字符串,尽量不使用+

优化
通过可变对象list保存所有要拼接的字符串,最后在将列表里的内容转为字符串

list_result = []
for i in range(10):
	list_result.append(str(i))

str_result = ''.join(list_result)
print(str_result)

你可能感兴趣的:(python,python列表)