Кажется, что l1
- это кортеж из двух элементов. Используйте следующее:
l2 = []
for name_a, name_b in zip(l1[0], l1[1]):
l2.append(name_a + ' and ' + name_b)
Если вы используете Python 3.6+, вы можете использовать f-строку:
l2 = []
for name_a, name_b in zip(l1[0], l1[1]):
l2.append(f'{name_a} and {name_b}')
Также имейте в виду, что вы также можете использовать список-понимание.
Python 3,6 +
l2 = [f'{name_a} and {name_b}' for name_a, name_b in zip(l1[0], l1[1])]
l2 = [name_a + ' and ' + name_b for name_a, name_b in zip(l1[0], l1[1])]
Примечание: Если вам не разрешено использовать zip
, используйте range
и используйте индексную запись следующим образом:
l2 = []
for i in range(len(l1[0])):
name_a = l1[0][i]
name_b = l1[1][i]
l2.append(name_a + ' and ' + name_b)
Обновление: на основе предыдущих комментариев, вы должны использовать следующее:
l2 = []
for i in range(len(l1[0])):
l2.append(' and '.join(e[i] for e in l1))