【发布时间】:2018-03-25 23:14:58
【问题描述】:
如何对这样的数组列表进行排序:
((green, yellow]),
(red, orange),
(blue, green),
(yellow, red),
(black, blue))
让两个元素首尾相连,如下所示:
((black, blue),
(blue, green),
(green, yellow),
(yellow, red),
(red, orange))
【问题讨论】:
-
选择起点的规则是什么?你说“排序”,你的例子选择了排序顺序中第一个,所以……这就是你想要的吗?还是类似于最大化链条长度的起点? (如果是这样,如果三个起点都给出长度为 2 的链,但没有给出更长的链,会发生什么?任意选择?引发异常?)或者......我没有想到的东西?
-
起始点是三元组[1] 的随机值,它没有匹配的父项。从这个起点开始: arr = (('ugly','green', 'yellow'), ('wolf','red', 'orange'), ('dog','blue', 'green'), ('mitten','yellow', 'red'), ('elf','black', 'blue')) ('sheep, 'silver', 'yellow') 我想创建所有可能的列表与孤独者“银色”或“黑色”。
-
您的代码是否需要检测循环? (如果有,应该怎么做?)
-
我想避免循环——每个项目只能出现一次。
-
“我想避免循环”是指“输入中不会有循环”,还是“如果有循环我们需要检测并引发 ValueError”,还是……?跨度>
标签: python arrays list sorting