Wie in BASH kann ich "echo-n" innerhalb einer Schleife verwenden und alle Elemente in ein Array (oder eine Liste in Python) in einer einzigen Zeile ohne Leerzeichen "" Zeichen. Siehe "echo-n Wert" unten in der zweiten Schleife.BASH "echo-n Wert" in Python 2.6/2.x oder Python 3.x innerhalb einer Schleife - einzelne Zeile ohne Leerzeichen
Arun [email protected] MINGW64 ~
$ a=(1 2 33 four)
Arun [email protected] MINGW64 ~
$ for v in ${a[@]}; do echo $v; done
1
2
33
four
Arun [email protected] MINGW64 ~
$ for v in ${a[@]}; do echo -n $v; done
1233four
Arun [email protected] MINGW64 ~
$ for v in ${a[@]}; do echo -n "$v "; done
1 2 33 four
Wie kann ich das gleiche tun in Python für-Schleife, während jede Werteliste iterieren.
PS: Ich möchte "" .join (Liste) nicht verwenden. Es scheint auch wie "" .join (Liste) funktioniert nur, wenn meine Liste in Python Werte als "Strings" -Typ dann "" .join (Liste) funktioniert (wie BASH echo -n) aber wenn die Liste hat Integer aka Nicht-String-Werte (zum Beispiel: wie in der Liste Zahlen im folgenden Code), "" .join (Zahlen) oder "" .join (str (Zahlen)) immer noch nicht funktioniert (wie BASH echo-n); In diesem Fall, obwohl ich print num, in der Schleife verwendete, führte es immer noch ein Leerzeichen "" ein.
Ich versuche Druckwert zu verwenden, (mit einem Befehl), aber es wird ein Leerzeichen "" Zeichen eingeführt.
In Python 2.x, der folgende Code zeigt:
numbers = [7, 9, 12, 54, 99] #"".join(..) will NOT work or print val, will not work here
strings = ["1", "2", "33", "four"] #"".join(..) will work as values are strings type.
print "This list contains: "
#This will print each value in list numbers but in individual new line per iteration of the loop.
for num in numbers:
print num
print ""
print "".join(str(numbers))
print "".join(strings)
#PS: This won't work if the values are "non-string" format as I'm still getting a space character (see output below) for each print statement for printing num value
for num in numbers:
print num,
Ausgabe als:
This list contains:
7
9
12
54
99
[7, 9, 12, 54, 99]
1233four
7 9 12 54 99
Was ich suche ist, wie ich alle Elemente der Liste drucken können Zahlen (wie unten gezeigt) mit for-Schleife und eine print-Anweisung in einer einzigen Zeile, wenn die Liste nicht-String-Werte hat?
79125499
Werfen Sie einen Blick auf diese Antwort: http://stackoverflow.com/questions/493386/how-to-print-in-python-without-newline-or-space – m13r
@ m13r Hallo, wenn ich recht habe, verwendet keines der Beispiele in der obigen Verbindung eine Liste/ein Array mit einigen/allen Integer-Werten, und keines behebt das Problem, das ich habe, wie man während des Druckens NICHT druckt Listenwert in einer FOR-Schleife. Bitte korrigieren Sie das Gegenteil. –
BTW, während es gut genug funktioniert, um Ihre Absicht hier zu kommen, ist "echo-n" nicht wirklich gute Form in Shell-Skripten. Siehe die POSIX-Spezifikation für "echo" unter http://pubs.opengroup.org/onlinepubs/009604599/utilities/echo.html - die Verwendung von "-n" macht die Ausgabe vollständig implementierungsdefiniert; Der geeignete Weg, um Inhalte ohne Zeilenumbruch zu schreiben, ist 'printf '% s'" content "' oder (um Backslash-Escape-Zeichen zu verarbeiten) 'printf '% b'" content "'. –