【发布时间】:2021-05-24 03:49:45
【问题描述】:
我有以下代码
Trans_Func = [['s1', '@', 's2'], ['s1', '@', 's4'], ['s2', '0', 's2'], ['s2', '1', 's3'], ['s3', '0', 's3'], ['s3', '1', 's3'], ['s3', '2', 's3'], ['s4', '1', 's4'], ['s4', '2', 's4'], ['s4', '2', 's5']]
new_rules = []
for i, j in Trans_Func:
if i[0] == j[0] and i[1] == j[1]:
#operation to append the new rule
print(new_rules)
我试图创建一个包含 Trans_Func 元素的新列表,仅当第一个字符串等价,第二个字符串等价,但第三个字符串不同时。我对 new_rules 的预期输出是:
new_rules = [['s1', '@', 's1, s4'], ['s4', '2', 's4, s5']]
我只是不知道如何遍历 Trans_Func 以尝试同时检查多个元素。
【问题讨论】:
-
您是否应该将 ever 元素与其他所有元素进行比较,还是仅将列表中相邻的元素进行比较?
-
第一个结果子列表不应该是
['s1', '@', 's2, s4']???你好像打错了's1, s4'