最简单、最快的方法是对您在循环中搜索的特定值使用条件语句。
if i == 2 or i == 5:
new_list.append(i)
这种方法的缺点是,如果您需要扩展要检索的值的范围,则需要编写最长的条件 if i == 1 or i == 5 ... or i == N: ,这不仅不好看,而且是不好的编程习惯,因为代码很难维护。
更好的方法是创建一个包含您要检索的值的列表,并在将其添加到新列表之前检查实际元素是否是此列表。
list2 = ['1','2','3','4','5']
wanted = ['2','5'] #what I search
my_list = []
for value in list2:
if value in wanted: #when value is what a I want, append it
my_list.append(value)
但是,如果您想按位置添加元素,而不是查找特定值的每次出现,您可以使用整数列表并在其上循环以添加所需的元素。
positions = [1,4] #indicates the positions from which I want to retrieve elements
new_list = [list[p] for p in positions] #using list comprehension for brevity
注意
我要补充的最后一件事是在 python 中你不能执行
my_list.append(i[0,4])
因为 python 在查看 [0,4] 时会像您传递一个元组一样解释它(因为逗号)并且会出现以下错误TypeError: list indices must be integers or slices, not tuple。