allDasTickets = ["9255955", "9255958", "9255960", "9255977"]
[j for j in allDasTickets for x in allDasTickets if x != j]
所以我得到了以下列表的列表:
['9255958', '9255960', '9255977']
['9255955', '9255958', '9255977']
['9255958', '9255960', '9255977']
['9255955', '9255958', '9255960']
即缺少匹配列表的列表(我希望这就是我上面放的)
你忘了内括号。您需要它们,因为您正在尝试生成列表列表,而不仅仅是平面列表。
allDasTickets = ["9255955", "9255958", "9255960", "9255977"]
[[j for j in allDasTickets if x != j] for x in allDasTickets]
收益 率
[['9255958', '9255960', '9255977'],
['9255955', '9255960', '9255977'],
['9255955', '9255958', '9255977'],
['9255955', '9255958', '9255960']]
反转有效。您给定的输出已['9255958', '9255960', '9255977']
两次并省略['9255955', '9255960', '9255977']
.
import itertools
allDasTickets = ["9255955", "9255958", "9255960", "9255977"]
for t in itertools.combinations(reversed(allDasTickets), len(allDasTickets) - 1):
print(list(reversed(t)))
指纹:
['9255958', '9255960', '9255977']
['9255955', '9255960', '9255977']
['9255955', '9255958', '9255977']
['9255955', '9255958', '9255960']