Не работает поиск элемента

Я пытаюсь найти в массиве слово mp3, перебирая каждое значение массива, но выводит программа только значек ошибки "0".

g='0'
s=['mp3']
for i in range (0):
    if 'mp3' in s[i]:
        print()
        g=s[i]
        break
print(g)

Ответы (3 шт):

Автор решения: Сергей

Исправленный код ниже.

range в исходном коде ни разу не сработает из-за 0, предлагаемого, как количество "прогонов". В таких случаях лучше привязываться к длине списка, по которому проходим.

g='0'
s=['mp3']
for i in range (len(s)):
    if 'mp3' in s[i]:
        print()
        g=s[i]
        break
print(g)
→ Ссылка
Автор решения: Prosto_Oleg

У вас ошибка в том, что вы проходите циклом по range(0), то есть цикла не будет и данный блок кода просто пропустится.

Вот более красивый вариант прохода по списку:

g='0'
s=['mp3']
for word in s:
    if 'mp3' in word:
        print()
        g=word
        break
print(g)

так же хочу добавить, что конструкция if 'mp3' in word будет давать истину, когда mp3 является частью слова, если вы хотите полное совпадение, то используйте if word == 'mp3'

→ Ссылка
Автор решения: vikttur_Stop_RU_war_in_UA

Без циклов.

Находится ли элемент в списке:

s=['mp32']
word = 'mp3'

if word in s:
    print('ok')
else:
    print('совсем не ok')

Количество элементов в списке:

print (s.count(word))

Или с условием:

if s.count(word) > 0: ...
→ Ссылка