Не печатать элементы списка, начинающиеся с определенной буквы

#python

#python

Вопрос:

 names = ["Adam", "Maria", "Kevin", "Madison", "John", "Bailey"]
  

Я хочу, чтобы все элементы в этой строке печатались, кроме имен, начинающихся с буквы M. Как мне это сделать. Я только что начал онлайн-курс и пытаюсь разобраться в этой части. Я пересмотрел некоторые видео и, похоже, пропустил информацию, которая выведет на печать все, что не начинается с M.

Комментарии:

1. Попробуйте создать строку и посмотрите, как вы можете индексировать, чтобы печатать только определенную букву строки. Как только вы это выясните, вы можете просто использовать цикл.

2. [x for x in names if not x.startswith("M")]

3. Мы не делаем вам домашнюю работу. Учитывая строку, как вы получаете ее первый символ? Как вы проверяете, является ли этот первый символ M?

Ответ №1:

Попробуйте это:

 for name in names:
    if not name.startswith('M'):
        print(name)
  

Если вы также хотите проверить наличие строчных m букв, вы можете сделать if not name.lower().startswith('m'): это вместо этого.

Комментарии:

1. Спасибо за информацию, я посмотрю, как это получится.

Ответ №2:

 names = ["Adam", "Maria", "Kevin", "Madison", "John", "Bailey"]
for name in names:
  if name[0] == 'M':
    continue
  print(name)
  

Комментарии:

1. Дружественный совет: это можно упростить (как с точки зрения кода, так и с точки зрения интерпретации) с помощью != оператора; таким образом, удаляя continue и печать при проверке на True .

2. Я ценю предложения по этому поводу. Я проверю это.