Как и в BASH, я могу использовать «echo -n» внутри цикла и печатать все элементы в массив (или список в Python) в одной строке без символа пробела. См. «echo -n значение» ниже во втором цикле.BASH «echo -n value» в Python 2.6/2.x или Python 3.x внутри цикла - одиночная строка без пробела
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
Как я могу сделать то же самое в Python с использованием для цикла во время итерации каждого значения списка.
PS: Я не хочу использовать "" .join (список). Кроме того, кажется, что «" .join (list) будет работать только в том случае, если мой список в Python имеет значения как тип «string», тогда «» будет работать .join (list) (например, BASH echo -n), но если список имеет Integer aka non-string values (например: как показано в списке номеров в коде ниже), ".join (numbers) или" ".join (str (числа)) все еще не работает (например, BASH echo -n); в этом случае, хотя я использовал , напечатал num, в цикле, он по-прежнему вводил символ пробела.
Я пытаюсь использовать значение печати, (с командой), но он вводит символ пробела.
В Python 2.x, следующий код показывает:
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,
выход как:
This list contains:
7
9
12
54
99
[7, 9, 12, 54, 99]
1233four
7 9 12 54 99
То, что я смотрю на это, как я могу напечатать все элементы списка номера (как показано ниже), используя цикл for и оператор печати в одной строке, когда список имеет нестроковые значения?
79125499
Посмотрите на этот ответ: http://stackoverflow.com/questions/493386/how-to-print-in-python-without-newline-or-space – m13r
@ m13r Привет, Если я прав, ни один из примеров в приведенной выше ссылке не использует список/массив с целыми/целочисленными значениями, и никто не обратился к проблеме, которая у меня есть, как НЕ печатать "" во время печати list в цикле FOR. В противном случае исправьте. –
BTW, хотя он работает достаточно хорошо, чтобы понять ваше намерение здесь, 'echo -n' на самом деле не является хорошей формой в сценариях оболочки. См. Спецификацию POSIX для 'echo' по адресу http://pubs.opengroup.org/onlinepubs/009604599/utilities/echo.html - использование' -n' делает вывод полностью реализованным; подходящим способом записи содержимого без новой строки является 'printf '% s' 'content" ', или (для обработки обратных косых черт)' printf'% b '"content" '. –