Je suis nouveau dans Python et j'ai vraiment besoin de votre aide.
J'ai deux listes:
"Artiste1 - MySongName_id11111.mp3
"Artiste2 - SongName_id2231.mp3
"Artiste3 - SongWwhat_id1623.mp3
11111
2231
1623
4523
Pour chaque élément de la liste mp3, je veux vérifier si le nom du fichier mp3 contient un identifiant de la deuxième liste.
Par exemple. Si Artist1 - MySongName_id11111.mp3 contient 11111 de la deuxième liste, alors faites quelque chose.
3 Réponses :
for i in ids:
for name in mp3list:
if str(i) in name:
# do something
note that this will do something for the same name twice if it happens to have multiple ids in it;
i'm not sure if that's what you want.
Il vaut probablement mieux ne pas utiliser id comme nom de variable, car il masque la fonction intégrée id () .
Je suis convaincu à 100% que ce ne sera pas un problème ici.
Pour cette question spécifique, vous avez probablement raison. Mais ce n'est pas un effort supplémentaire, vous pouvez donc aussi bien utiliser un nom qui ne posera pas de problèmes futurs à quelqu'un d'autre qui trouve cette réponse et l'adapte à son problème spécifique.
Première liste en boucle simple et création de certaines conditions et chaînes de fractionnement
for i in artists:
if int(i.split("id", 1)[1][:-4]) in idlist:
# Do Any You Want
Vous pouvez utiliser le module re de python pour extraire le chiffre du nom de la chanson.
import re
for i in list_of_mp3:
replaced_string = re.sub(r'.+id', '', i)[:-4]
if replaced_string in idx:
print(f'{i} is in idx')