Не работает поиск элемента
Я пытаюсь найти в массиве слово 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)
У вас ошибка в том, что вы проходите циклом по 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'
Без циклов.
Находится ли элемент в списке:
s=['mp32']
word = 'mp3'
if word in s:
print('ok')
else:
print('совсем не ok')
Количество элементов в списке:
print (s.count(word))
Или с условием:
if s.count(word) > 0: ...