【发布时间】:2015-12-02 02:53:33
【问题描述】:
这是我的第一个问题 =): 我的问题是标题中所说的。我想简单地对具有 2 个元素的元组列表进行排序。它应该与 sorted 一起使用,但它仍然返回未排序的 List,......它似乎什么也不做。 输入:
#"L =[(0, 1), (4, 6), (5, 7), (0, 6), (0, 4), (2, 5)]" Its an example.
for line in stdin:
L = [int(i) for i in line.split()]
n = L[0]
V = [i for i in range(n)]
edgelist = L[1:]
EDGE = [(edgelist[i],edgelist[i+1]) for i in range(0,len(edgelist)-1,2) ]
mK = missingKnots(edgelist)
EDGE = sorted(EDGE)
EDGE = list(set(EDGE))
输出:
[(0, 1), (4, 6), (5, 7), (0, 6), (0, 4), (2, 5)]
应该是:
[(0, 1), (0, 4), (0, 6), (2, 5), (4, 6), (5, 7)]
未排序 =(. 感谢阅读!
【问题讨论】:
-
请用编写代码的编程语言标记问题。我认为它是 Python,但我没有足够的信心为你标记它。
-
好的,谢谢! @约翰·布林格
-
为什么不
L.sort()?我看不到其他操作的意义 -
该代码不会生成该输出。例如,没有
print。显示您遇到问题的实际代码。 -
从
sorted()的返回值构造一个集合有什么意义?集合是无序的;你可能会失去从sorted()获得的任何订单,没有明显的目的。
标签: python list sorting tuples