BASH“;回声-n值“;在Python2.6/2.x或Python3.x中,在一个循环中-单行,没有空格
像在BASH中一样,我可以在循环中使用“echo-n”,并在一行中打印数组(或Python中的列表)中的所有元素,而不使用任何空格“”字符。请参见下面第二个循环中的“echo-n值”BASH“;回声-n值“;在Python2.6/2.x或Python3.x中,在一个循环中-单行,没有空格,python,python-2.7,echo,line,pretty-print,Python,Python 2.7,Echo,Line,Pretty Print,像在BASH中一样,我可以在循环中使用“echo-n”,并在一行中打印数组(或Python中的列表)中的所有元素,而不使用任何空格“”字符。请参见下面第二个循环中的“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
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
在Python中,如何在迭代每个列表值时使用for循环执行相同的操作
PS:我不想使用“”。加入(列表)。另外,它看起来像是“.join(list)仅在Python中的列表具有“strings”类型的值时才起作用。”.join(list)将起作用(如BASHecho-n),但如果列表具有整数或非字符串值(例如:如下面代码中的listnumbers所示),“.join(numbers)或“.join(str(numbers))仍然不起作用(如BASHecho-n);在本例中,即使我在循环中使用了print 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循环和print语句打印列表编号的所有元素(如下所示)
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="")
你可以这样做:
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="")
如果我没弄错的话,你是想打印没有空格的数字吗?如果是这样,请尝试以下方法
from __future__ import print_function
for i in range(1, 11):
print (i, end='')
结果
12345678910
Process finished with exit code 0
如果我没弄错的话,你是想打印没有空格的数字吗?如果是这样,请尝试以下方法
from __future__ import print_function
for i in range(1, 11):
print (i, end='')
结果
12345678910
Process finished with exit code 0
看看这个答案:@m13r Hi,如果我是对的,上面链接中的示例都没有使用带有部分/全部整数值的列表/数组,也没有一个解决了我遇到的问题,即在FOR循环中打印列表值时如何不打印“”。另外请更正。顺便说一句,虽然它可以很好地理解您在这里的意图,
echo-n
在shell脚本中实际上不是很好的形式。参见POSIX规范中的echo
at--使用-n
使输出完全由实现定义;写内容而不换行的合适方法是printf“%s”content“
,或者(处理反斜杠转义)printf“%b”content“
。看看这个答案:@m13r Hi,如果我是对的,上面链接中的示例都没有使用带有部分/全部整数值的列表/数组,也没有解决我遇到的问题,即在FOR循环中打印列表值时如何不打印“”。另外请更正。顺便说一句,虽然它可以很好地理解您在这里的意图,echo-n
在shell脚本中实际上不是很好的形式。参见POSIX规范中的echo
at--使用-n
使输出完全由实现定义;不使用换行符编写内容的合适方法是printf“%s”content“
,或者(处理反斜杠转义)printf“%b”content“
。是的,我同意,但在Python中不需要创建额外的对象(如您建议的concat)就可以直接编写内容吗。我在解决方案中添加了第二个代码段,但没有附加变量…是的,我同意,但在Python中,不需要创建额外的对象(如您建议的concat)就可以直接使用Python。我在解决方案中添加了第二个代码段,但没有附加变量…好的,这就成功了。谢谢奇怪的是,现在我不得不接受2.x3.x版本和兼容性。在3.x中会很好,对吗?好的,这就成功了。谢谢奇怪的是,现在我不得不接受2.x3.x版本和兼容性。在3.x中会很好,对吗?