我正在浏览python 3的教程,我在打印时遇到了奇怪的行为。例如:
print ("\nUnpickling lists.")
pickle_file = open("pickles1.dat", "rb")
variety = pickle.load(pickle_file)
shape = pickle.load(pickle_file)
brand = pickle.load(pickle_file)
print (variety,"\n",shape,"\n",brand)
pickle_file.close()
给了我:
Unpickling lists.
['sweet', 'hot', 'dill']
['whole', 'spear', 'chip']
['Claussen', 'Heinz', 'Vlassic']
如何避免第二个和第三个列表的打印输出行开头的额外空间?
答案 0 :(得分:6)
只需指定'\n'
作为分隔符,即可在每个项目之间添加新行:
print(variety, shape, brand, sep='\n')
答案 1 :(得分:3)
使用sep = ''
:
print (variety,"\n",shape,"\n",brand, sep = '')
sep
的默认值是单个空格:
>>> print('a','b')
a b
>>> print('a','b', sep ='')
ab
print
上的帮助:print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space. <-----
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.