【发布时间】:2020-07-11 01:34:41
【问题描述】:
我正在尝试从整数列表创建元组对列表。元组对列表将包含在列表中找到的数字对。示例如下:
listofint = [4, 3, 1, 2, 3, 1, 1, 3, 5, 1, 2, 2]
listoftuplepairs = [(3,3),(1,1),(2,2),(1,1)]
我很困惑如何使用列表理解来实现这一点。我在下面尝试过,但它只返回一个空字符串。
listoftuplepairs = [(i,listofint.remove(i)) for i in listofint if listofint.remove(i) == i]
我了解在列表中使用 remove() 不会返回任何内容。我已经尝试过pop(),但我只能将列表索引作为参数传递给它,而不是我想要pop() 并存储在我的元组列表中的实际值。
还有其他方法可以通过列表理解来做到这一点吗?
【问题讨论】:
-
如果
listofint = [4, 3,1,3,3, 1, 2, 3, 1]会输出什么? -
listoftuplepairs = [(3,3),(1,1),(3,3)]。它找到哪个数字有一对并从中创建一个元组,然后将其添加到listoftuplepairs。 -
输出顺序重要吗?
-
并非如此。但我假设如果我要遍历每个元素,那将是顺序。所以我会删除第一个元素,在列表中找到它的对,将它添加到元组中,从列表中删除它。然后重新开始
标签: python python-3.x list tuples list-comprehension