Besoin ceci:Python - Trouver un numéro dans une liste de chaînes et de retour Chaîne + Numéro
a_1 = 10
a_2 = 15
a_3 = 4
a_4 = 25
x = 3
a_(x) = 4
J'ai essayé ceci:
list = ["a_1", "a_2", "a_3", "a_4"]
x = 3
matching = [s for s in list if (x) in s]
TypeError: 'en' exige chaîne comme opérande gauche, non int
Alors:
list = ["a_1", "a_2", "a_3", "a_4"]
x = "3"
matching = [s for s in list if (x) in s]
matching = 'a_3'
Ça a marché, mais y a-t-il un meilleur moyen?
Pourriez-vous préciser ce que vous avez besoin/essaient de le faire ... Il est peut-être, mais Je ne peux pas comprendre ce que vous demandez réellement/après. Peut-être une phrase comme: "J'ai abc et je veux xyz qui me donnera foobar" ... –
hm, l'erreur dit ce qui ne va pas, et vous avez vu que vous deviez faire une chaîne de 'x', alors pourquoi pas simplement '[s pour s dans liste si str (x) dans s]'. En outre, ** ne pas ** choisir les noms de variables qui sont en conflit avec les types Python: 'list' n'est pas un bon nom. –
lol realy Marcus, thx – leandurus