#python-3.7
#python-3.7
Вопрос:
[('12121212', 'computer', 'computer@123'), ('1223', 'asus', 'asus@123'), ('1111', 'testpro', 'testpro@123')]
Я хочу получить одно значение из кортежа в списке, если я введу два других значения, присутствующих в кортеже в python.
Предположим, что fvalue=computer и svalue =1212121212, тогда я получу tvalue как computer@123
Комментарии:
1. Не могли бы вы выразиться более определенно? Может быть, пример?
2. Пожалуйста, укажите, чего вы хотите достичь; Можете ли вы привести какой-нибудь пример?
3. Из вашего примера я понимаю, что вам нужна функция с 2 словами в качестве входных данных, которая определяет, какой из кортежей содержит эти 2 слова в любых трех позициях. Это верно?
Ответ №1:
Что-то вроде этого, если я понимаю, чего вы хотите. Это приведет к поиску кортежа, который содержит ваши 2 значения, и вернет третье.
a = [('12121212', 'computer', 'computer@123'), ('1223', 'asus', 'asus@123'), ('1111', 'testpro', 'testpro@123')]
value1 = '1111'
value2 = 'testpro@123'
def search(val1, val2, list_to_search):
for item in list_to_search:
if val1 in item and val2 in item:
item = list(item)
item.remove(val1)
item.remove(val2)
return item[0]
return None
print(search(value1, value2, a))
Результат: testpro