【发布时间】:2020-02-25 12:31:31
【问题描述】:
您好,我目前正在处理大量数据,其中包含偶数个整数,所有整数都有一个匹配值。我正在尝试在 Python 中创建一个由“一对”组成的列表。我可以拥有多对相同的值,因此仅使用 set 函数不起作用。例如,如果我有一个列表:
List = [10, 10, 11, 20, 15, 20, 15, 11, 10, 10]
在此示例中,索引 0 和 1 将是一对,然后是 2 和 7、3 和 5、4 和 6、8 和 @ 987654332@.
我想从该列表中提取构成每一对的值,并使用所述值创建一个新列表以生成如下内容:
newList = [10, 11, 20, 15, 10]
使用 set 函数使得整个数据集中只有一个元素被放入列表中,我需要来自 List 的总数据的一半。对于我有不止一对相同值的情况,它看起来像这样:
List = [10, 10, 11, 10, 11, 10]
需要生成如下列表:
newList = [10, 11, 10]
任何见解都会很棒,因为我是 Python 新手,而且有很多我可能不知道的功能。
谢谢
【问题讨论】:
-
我不确定我是否理解这里的“配对”。您可以通过去重整个列表(例如
set(List))简单地实现您想要的输出,而无需过多关心“对”...... -
[1, 1, 1]的输出应该是什么?您的输入是否仅包含对?这个问题对我来说似乎没有很好的定义...... -
@deceze 对整个列表进行重复数据删除的问题是,如果我有两对,例如[10, 10, 10, 10],我需要一个包含两个元素的新列表,每对一个元素。我还需要保持未排序的顺序列表的格式。
-
@hiroprotagonist 对我来说永远不会有这种情况,List 的每个值的数量总是相等的。
-
这里的“对”是怎么定义的,还不是很清楚。