Supposons que j'ai une liste de compréhension:
for line in list1: print(line);
Comment imprimer ceci en utilisant une boucle? J'ai essayé de faire
list1 = [("hello","my name"),("is","hayhay")]
Mais cela ne fonctionne pas.
4 Réponses :
Python ne termine pas les lignes avec ";" Vous devez décompresser le tuple pour pouvoir imprimer la chaîne à l'intérieur, si c'est ce que vous essayez d'atteindre
list1 = [("hello","my name"),("is","hayhay")]
for line in list1:
print(*line)
voter contre la réponse sans même ajouter suffisamment d'informations pour résoudre le problème, où se trouve le résultat attendu. Quoi qu'il en soit, j'ai édité le code, cela devrait fonctionner! Vous essayez de décompresser le tuple
La réponse était incorrecte en fonction de quoi? Comment avez-vous déterminé cela? Je n'ai pas de sortie à comparer en premier lieu
Je voulais dire que vous n'avez pas besoin; pour terminer chaque ligne ici car je l'ai supprimée, deuxièmement, ils n'ont pas spécifié de sortie pour voir exactement ce dont ils avaient besoin, j'ai donc fait le meilleur jugement et j'ai supposé qu'ils étaient débutants avec python et avaient probablement un problème de syntaxe. Ne soyez pas rapide pour juger que j'essaie de ne pas aider beaucoup!
** Et le code qu'ils ont fonctionnerait en fait sans le point-virgule! **
Si vous souhaitez imprimer chaque tuple:
list2 = ""
for i in list1:
for l in i:
list2 += l+" "
print(list2)
hello my name is hayhay
Si vous souhaitez imprimer comme une série de chaînes:
for i in list1:
for l in i:
print(l)
hello
my name
is
hayhay
Si vous souhaitez imprimer sous forme de chaîne unifiée:
for i in list1:
print(i)
('hello', 'my name')
('is', 'hayhay')
@Hay Hay Bun Bun Si cela répond à votre question - super! (marquer comme réponse pour que les gens sachent que vous avez trouvé votre solution). Sinon, veuillez afficher votre sortie attendue. :)
désolé, il a dit que je devais attendre dix minutes ou quelque chose du genre, merci encore! tu es si utile
Vous pouvez utiliser ceci:
list1 = [("hello","my name"),("is","hayhay")]
str=''
for key,item in dict(list1).items():
str+=key + " " + item + " "
print(str[:-1])
# hello my name is hayhay
@hay hay bun bun - c'est la prochaine itération que j'allais publier. Excellente réponse si vous essayez de créer une seule chaîne unifiée.
Ma réponse n'est peut-être pas la plus efficace, mais elle fait l'affaire.
Veuillez voir ci-dessous.
Merci,
list1 = [("hello","my name"), ("is", "hayhay")];
for i in range(len(list1)):
for j in range(len(list1[0])):
print(list1[i][j]);
Ceci est une liste de tuples, qui sont également des itérateurs. Donc pour chaque élément (c'est-à-dire pour chaque "
ligne", vous devez parcourir ce tuple pour afficher les éléments. Une boucle for imbriquée, en d'autres termes.Juste un FYI, il n'y a aucune compréhension dans ce code. Cela s'appelle simplement une liste.
veuillez nous montrer votre résultat attendu. Merci.
Voulez-vous dire que vous voulez qu'ils soient joints sous forme de chaîne?