BASH "echo -n value" in Python 2.6/2.x 或 Python 3.x 在一个循环内 - 没有 space 的单行
BASH "echo -n value" in Python 2.6/2.x or Python 3.x within a loop - single line without space
与 BASH 一样,我可以在循环中使用 "echo -n" 并在一行中打印数组(或 Python 中的列表)中的所有元素,而无需任何 space " " 字符。请参阅下面第二个 for 循环中的“echo -n 值”。
Arun Sangal@pc MINGW64 ~
$ a=(1 2 33 four)
Arun Sangal@pc MINGW64 ~
$ for v in ${a[@]}; do echo $v; done
1
2
33
four
Arun Sangal@pc MINGW64 ~
$ for v in ${a[@]}; do echo -n $v; done
1233four
Arun Sangal@pc MINGW64 ~
$ for v in ${a[@]}; do echo -n "$v "; done
1 2 33 four
如何在迭代每个列表值时使用 for 循环在 Python 中执行相同的操作。
PS:我不想使用“”.join(list)。此外,似乎只有当我在 Python 中的列表具有 "strings" 类型的值时,“”.join(list) 才会工作,然后“”.join(list) 将工作(如 BASH echo -n) 但如果列表具有整数又名非字符串值(例如:如以下代码中的列表 numbers 所示) , "".join(numbers) 或 "".join(str(numbers)) 仍然无效(如 BASH echo -n);在这种情况下,即使我在循环中使用 print num,,它仍然引入了一个 space " " 字符。
我正在尝试使用 打印值,(通过命令)但它引入了一个 space " " 字符。
在Python2.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
我正在寻找的是,当列表有非字符串值?
79125499
你可以这样做:
a = [1, 2, 3, 4]
concat = ""
for i in a:
concat = concat + str(i)
print concat
或不使用单独的变量:
# needed if Python version 2.6+
from __future__ import print_function
a = [1, 2, 3, 4]
for i in a:
print(i, end="")
如果我没理解错的话,您是想打印数字之间没有 space 的数字吗?如果是这样,请尝试以下操作。
from __future__ import print_function
for i in range(1, 11):
print (i, end='')
结果
12345678910
Process finished with exit code 0
与 BASH 一样,我可以在循环中使用 "echo -n" 并在一行中打印数组(或 Python 中的列表)中的所有元素,而无需任何 space " " 字符。请参阅下面第二个 for 循环中的“echo -n 值”。
Arun Sangal@pc MINGW64 ~
$ a=(1 2 33 four)
Arun Sangal@pc MINGW64 ~
$ for v in ${a[@]}; do echo $v; done
1
2
33
four
Arun Sangal@pc MINGW64 ~
$ for v in ${a[@]}; do echo -n $v; done
1233four
Arun Sangal@pc MINGW64 ~
$ for v in ${a[@]}; do echo -n "$v "; done
1 2 33 four
如何在迭代每个列表值时使用 for 循环在 Python 中执行相同的操作。
PS:我不想使用“”.join(list)。此外,似乎只有当我在 Python 中的列表具有 "strings" 类型的值时,“”.join(list) 才会工作,然后“”.join(list) 将工作(如 BASH echo -n) 但如果列表具有整数又名非字符串值(例如:如以下代码中的列表 numbers 所示) , "".join(numbers) 或 "".join(str(numbers)) 仍然无效(如 BASH echo -n);在这种情况下,即使我在循环中使用 print num,,它仍然引入了一个 space " " 字符。
我正在尝试使用 打印值,(通过命令)但它引入了一个 space " " 字符。
在Python2.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
我正在寻找的是,当列表有非字符串值?
79125499
你可以这样做:
a = [1, 2, 3, 4]
concat = ""
for i in a:
concat = concat + str(i)
print concat
或不使用单独的变量:
# needed if Python version 2.6+
from __future__ import print_function
a = [1, 2, 3, 4]
for i in a:
print(i, end="")
如果我没理解错的话,您是想打印数字之间没有 space 的数字吗?如果是这样,请尝试以下操作。
from __future__ import print_function
for i in range(1, 11):
print (i, end='')
结果
12345678910
Process finished with exit code 0