繁体   English   中英

在 python 列表中创建重复项

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM