我已经试了好几个小时了。我需要修改一个列表,使每个元素只出现两次而不改变列表的顺序。你知道吗
我是一个初学者,不能想办法解决这个问题。到目前为止,我所拥有的只是复制列表,但我似乎想不出如何只复制同一个数字两次来扩展列表。我目前拥有:
def makeDuplicate(my_list):
new_list = my_list.copy()
my_list.extend(new_list)
但我需要(举个例子):
my_list = [4, 1 ,2 ,3]
makeDuplicate (my_list)
my_list
输出为:
[4 , 1, 2, 3 , 4 , 1 , 2 , 3]
另一个例子:
my_list = [4 ,1 ,2 ,3 ,3 ,4 ,4 ,5]
makeDuplicate(my_list)
my_list
[4, 1, 2, 3, 3, 4, 5, 1, 2, 5]
任何帮助都将不胜感激。你知道吗
编辑:我在下面的评论和第二个例子之后更新我的答案
有一种残忍的方法。你知道吗
首先,简单地复制列表并将其扩展到原始列表,就像您在这里所做的那样。你知道吗
然而,这并不能保证列表中的数字正好出现两次。因此,您只需浏览扩展列表并计算每个不同值出现的次数。如果某个值已显示两次,则下次在列表中遇到该值时将其删除。 要计算不同值出现的次数,可以使用dictionary对其进行计数。你知道吗
原文:my_list=[4,1,2,3,3,4,4,5]
扩展:我的\u列表=[4,1,2,3,3,4,4,5,4,1,2,3,3,4,4,5]
删除:我的\u列表=[4,1,2,3,3,4,5,1,2,5]
也许是这样的?你知道吗
这不是漂亮的代码,但很管用;)
相关问题 更多 >
编程相关推荐