I have a list of tuples:
lst = [
("Tom", "Failed"),
("Tom", "Success"),
("Kas", "Success"),
("Kas", "Success"),
("Al", "Warning"),
("Al", "Success",
("Pel", "Failed"),
("Pel", "Failed")
]
I don't want duplicates so I use set():
set_lst = set(lst)
I get:
{
('Al', 'Success'),
('Al', 'Warning'),
('Kas', 'Success'),
('Tom', 'Failed'),
('Tom', 'Success'),
('Pel', 'Failed')
}
I messed up completely conditions and gave up:
for x, y in set_lst:
if len({g for _, g in set_lst}) > 1:
y = "Success"
print(x, y)
elif len({g for _, g in set_lst}) <= 1:
if y == "Failed":
print(x, y)
I don't know how should I go about it in actuall code.
I treat Warning and Success (if same person) as Success; Failed and Success (if same person) also as Success; Failed as Failed.
If I have:
('Tom', 'Failed') and ('Tom', 'Success') -> Tom Success
('Al', 'Success') and ('Al', 'Warning') -> Al Success
I except:
Al Success
Kas Success
Tom Success
Pel Failed
List of tuples may change.