Я не могу понять это понимание списка - PullRequest
0 голосов
/ 01 декабря 2019
a = [x+y for x in ['Python ','C '] for y in ['Language','Programming']]
print(a)

вывод ['Python Language', 'Python Programming', 'C Language', 'C Programming']

Я думал, что два списка, добавленные вместе, должны выглядеть как ['Python ','C ','Language','Programming']

1 Ответ

1 голос
/ 01 декабря 2019

Просто «деконструируйте» понимание слева направо, это то же самое, что и вложенные циклы for, чтобы получить декартово произведение двух списков:

a = []
for x in ['Python ','C ']:
    for y in ['Language','Programming']:
        a.append(x+y)
# ['Python Language', 'Python Programming', 'C Language', 'C Programming']

То, что вы имели в виду какожидаемый результат - результат конкатенации списка, такой как

a = ['Python ','C '] + ['Language','Programming']
# ['Python ', 'C ', 'Language', 'Programming']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...