【发布时间】:2019-06-08 19:45:29
【问题描述】:
我是学习python和整体编程的新手,我想知道这两个代码中哪一个对下一个问题更有效:
编写一个程序来删除现有列表中的重复项。
第一个代码是我在没有使用另一个占用内存的变量的情况下设法构建的代码(?), 我知道构建一个嵌套循环会占用大量内存,但因为我使用了“while”循环并且它仅用于删除数字,所以这并没有什么不同。
- 我的代码:
List = [5,2,9,1,7,2,2,3,9]
for item in List:
while(List.count(item) >= 2):
List.remove(item)
print(List)
- 第二个代码:
List = [5,2,9,1,7,2,2,3,9]
New_List = []
for item in List:
if item not in New_List:
New_List.append(item)
print(New_List)
两者都可以正常工作并且问题并不是说您不能将数据作为列表存储在另一个变量中,总体而言哪个代码更高效?
【问题讨论】:
-
你确定两者都能正常工作吗?在迭代列表时删除列表中的项目是不受欢迎的。
标签: python-3.x performance memory-efficient