1

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']

2 番目と 3 番目のリストの印刷出力の行頭に余分なスペースが入らないようにするにはどうすればよいですか?

4

2 に答える 2

6

セパレーターとして指定するだけ'\n'で、すべてのアイテムの間に改行を追加する必要がなくなります。

print(variety, shape, brand, sep='\n')
于 2013-06-26T10:34:26.100 に答える
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.
于 2013-06-26T10:27:32.327 に答える