Функция «соединения» получает вложенный список «список слов». Этот список содержит несколько подсписков, каждый из которых представляет собой список слов, например: [["Tom", "Laurel", "Merkel"], ["Jerry","Hardy", "Macron"]]
Все подсписки содержат одинаковое количество слов. Функция должна возвращать список строк, где каждый элемент в позиции является соединением «и» всех элементов в одной позиции во всех подсписках.
Например: conjunctions([["Tom", "Laurel", "Merkel"],["Jerry","Hardy", "Macron"]]
должен вернуть
['Tom and Jerry', 'Laurel and Hardy', 'Merkel and Macron']
и
conjunctions([["one", "apples"],["two","oranges"],["three","bananas"]]
должен возвращать
['one and two and three', 'apples and oranges and bananas']
Для этого упражнения мне пришлось добавить различные сочетания слов. Есть ли какой-нибудь более простой / понятный способ сделать это, вам разрешается использовать только списки.
Кроме того, как мне сделать его более надежным, например, разрешить ввод списков различной длины? однако получает ответы для этого)
'' '
def союзы (список слов):
list1 = []
list2 = []
list3 = []
answer = []
if len(word_list) == 3:
for i in word_list:
#print(i[0])
list1.append((i[0]))
list2.append((i[1]))
answer.append(list1[0] + " and " + list1[1] + " and " + list1[2])
answer.append(list2[0] + " and " + list2[1] + " and " + list2[2])
elif len(word_list) ==2:
for i in word_list:
#print(i[2])
list1.append((i[0]))
list2.append((i[1]))
list3.append((i[2]))
answer.append(list1[0] + " and " + list1[1])
answer.append(list2[0] + " and " + list2[1])
answer.append(list3[0] + " and " + list3[1])
return answer
' ''
Ввод:
conjunctions([["one", "apples"],["two","oranges"],["three","bananas"]])
conjunctions([["Tom", "Laurel", "Merkel"], ["Jerry","Hardy", "Macron"]])
Выход:
['one and two and three', 'apples and oranges and bananas']
['Tom and Jerry', 'Laurel and Hardy', 'Merkel and Macron']