【发布时间】:2021-05-28 12:29:30
【问题描述】:
假设我在这里有一个名为 T 的有序列表
T = ['foo', 'bar', 'cad']
然后我有一个包含元组的集合 M。
M = {
('jack', 'bar'),
('bob', 'foo'),
('let', 'cad')
}
对于 T 中的每一项,我都想在 M 中找到对应的元组对。 所以我的输出看起来像下面的列表
O = [ 'bob', 'jack', 'let' ]
我尝试了这个集合推导,但这当然只是迭代了按 M 顺序定义的元素,我需要按 T 顺序定义它。
answer = [ a for (a,b) in R if b in T ]
作为后续问题,假设我的 M 看起来像:
M = {
('bar', 'jack'),
('foo', 'bob'),
('cad', 'let')
}
这会让这个问题更容易解决吗?
不使用字典可以解决这个问题吗?纯粹是列表、集合和元组?
【问题讨论】:
-
您的预期输出是不可能的,因为您希望一个集合按特定顺序排列,但集合是无序的。
-
如果你需要一些订单,建立一个列表而不是一个集合
-
对不起,我的错字我希望我的预期答案是一个列表。
-
@DanielJ 如果这里的答案解决了您的问题,请接受它
标签: python