может кто-нибудь объяснить эту строку кода?

-1

Идея состоит в том, чтобы получить любое имя с nombresэтого начала с любой буквой, которую дает, padronи сохранить ее nombres_filtrados(что я не могу понять). Я был бы очень признателен за помощь!

    padron = ['A', 'E', 'J', 'T']

    nombres = ['Tamara', 'Marcelo', 'Martin', 'Juan', 'Alberto', 'Exequiel',
               'Alejandro', 'Leonel', 'Antonio', 'Omar', 'Antonia', 'Amalia',
               'Daniela', 'Sofia', 'Celeste', 'Ramon', 'Jorgelina', 'Anabela', "X"]
   
    nombres_filtrados = [x for x in nombres if any(f in x for f in padron)]

    print(nombres_filtrados)

Спасибо!

7
  • Этот код не выполняет то, что вы намереваетесь. Он добавит любое слово, в nombresкотором есть хотя бы один из символов padron.
    DeGo
    10 минут назад
  • Я так и думал, но результат следующий ['Тамара', 'Хуан', 'Альберто', 'Экзекьель', 'Алехандро', 'Антонио', 'Антония', 'Амалия', 'Йоргелина', 'Анабела'] 9 минут назад
  • 3
    Это совпадение, потому что все ваши имена начинаются с заглавных букв. Если бы у вас был, например, "CELESTE"в вашем nombresсписке, он тоже был бы выбран. Правильная реализация была бы [x for x in nombres if x[0].upper() in padron].
    Selcuk
    7 минут назад
  • 3
    Из всех имен в этом списке определенно самое крутое "X". Если у меня есть еще один ребенок, я называю его X (и, конечно, цитирую StackOverflow в их свидетельстве о рождении).
    paddy
    5 минут назад
  • 3
    @paddy Убедитесь, что они стали профессорами чего-нибудь .
    Selcuk
    4 мин. Назад