python: поиск частичного совпадение в списке и вывод следующего элемента
reader = {'sdfsd - sdfdsf', '43252345', 'ecrf - wexex', '34534535', '233253', 'wwdwed - wedd'}
ch_1 = 'sdfsd - fxcf'
for row in reader:
if ch_1 in row:
list_1 = (row[row.index(ch_1) + 2])
print(list_1)
else:
if (ch_1.partition('-')[0] + "-") in row:
print(row[row.index(ch_1.partition('-')[0] + "-") + 2])
что то мне подсказывает, что частичное совпадение в индексе списка не вызвать
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Не очень понял что вы хотите получить, но примерно так:
# поменял вид скобок, с теми скобками это set и ничего вообще нельзя сделать, значения лежат вперемешку
reader = ['sdfsd - sdfdsf', '43252345', 'ecrf - wexex', '34534535', '233253', 'wwdwed - wedd']
ch_1 = 'sdfsd - fxcf'
n = 2 # какой элемент по счёту мы хотим получить после совпадения
for i in range(len(reader) - n):
if reader[i].partition('-')[0] == ch_1.partition('-')[0]:
print(reader[i + n])
Вывод:
ecrf - wexex