Python 3.x isupper () для заглавной буквы в списке с использованием понимания списка - PullRequest
0 голосов
/ 13 апреля 2020

Может ли кто-нибудь описать мне, как я могу получить такие же результаты, как показано в подходе 1, но используя подход 2? Оба из них используют списочное понимание.

Подход 1

planets = 'MercuryVenusEarthMarsJupiterSaturnUranusNeptune'
capital_letters = [planet for planet in planets if planet.isupper()]
>>> ['M', 'V', 'E', 'M', 'J', 'S', 'U', 'N']

Подход 2

planets = ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
capital_letters = [planet for planet in planets if planet.islower()]
>>> []

Некоторые идеи:

  • Для использования нарезки;

1 Ответ

0 голосов
/ 13 апреля 2020

Попробуйте приведенный ниже код, он выдает результат, как в подходе 1 для вашего подхода 2.

planets = ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
capital_letters = [planet[0] for planet in planets]
>>>['M', 'V', 'E', 'M', 'J', 'S', 'U', 'N']
...