[英]Creating duplicates in a python list
我想在列表中重复数字,但我不知道如何开始。 这是我想要做的一个例子
list1=[2,4,5,1,7,8,2,9]
list_I_want=[2,2,4,4,5,5,1,1,7,7,8,8,2,2,9,9]
我在想可能是一个 for 循环来做到这一点,但我不知道从哪里开始
这是在列表推导中使用嵌套循环的简单方法:
>>> list1=[2,4,5,1,7,8,2,9]
>>> [i for i in list1 for _ in range(2)]
[2, 2, 4, 4, 5, 5, 1, 1, 7, 7, 8, 8, 2, 2, 9, 9]
这相当于在内部循环中进行嵌套for
循环和append
ing:
>>> list_i_want = []
>>> for i in list1:
... for _ in range(2):
... list_i_want.append(i)
...
>>> list_i_want
[2, 2, 4, 4, 5, 5, 1, 1, 7, 7, 8, 8, 2, 2, 9, 9]
如果您想就地执行此操作(即不创建单独的列表),您可以在其 position 循环插入每个数字。 但是,当您插入新项目时,列表索引会发生变化,因此向后执行插入将确保要处理的剩余项目位于其预期位置:
list1=[2,4,5,1,7,8,2,9]
for i in reversed(range(len(list1))):
list1.insert(i,list1[i])
print(list1)
[2, 2, 4, 4, 5, 5, 1, 1, 7, 7, 8, 8, 2, 2, 9, 9]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.