как мне найти список кортежей, если я знаю только 1 элемент любого кортежа в списке?
пример макета (это не работает):
tuplelist = [('cat', 'dog'), ('hello', 'goodbye'), ('pretty', 'ugly')]
matchlist = []
searchstring = 'goodbye'
if (*, searchstring) in tuplelist:
print "match was found"
matchlist.append(tuplelist[#index of match])
theв asterix я хочу поставить подстановочный знак
Я знаю, что мог бы использовать:
for i in range (len(tuplelist)):
if tuplelist[i][1]==searchstring:
matchlist.append(tuplelist[i])
print "match was found"
, но проблема в том, что мне нужно запускать определенную функцию только один раз, если совпадение не найдено.
возможно, я мог бы сделать счетчик, который увеличивается, когда найдено совпадение, и добавить что-то вроде этого в цикл.
if i==len(tuplelist) and matchcounter==0:
#do something
print "no match was found"
Но я думаю, что это уродливо и запутанноя уверен, что есть более чистый способ сделать это: P