创建for循环时,python似乎会添加空格。
menuItems = ['apple', 'banana', 'car', 'thing', 'whatever', 'burrito']
menuNum = 1
for menuItem in menuItems:
print menuNum,'. ',menuItem
menuNum = menuNum + 1
返回此
1 . apple
2 . banana
3 . car
等...
关于如何在没有间距的情况下简单地得到它的任何想法?
例如
1. apple
2. banana
3. car
答案 0 :(得分:4)
使用字符串格式。 Python 2中的print
为每个用于分隔项目的逗号添加空格。
>>> data = ['apple', 'banana', 'car', 'thing', 'whatever', 'burrito']
for i, item in enumerate(data, 1):
print '{}. {}'.format(i, item)
...
1. apple
2. banana
3. car
4. thing
5. whatever
6. burrito
如果您想要索引项目,请使用enumerate
。
答案 1 :(得分:1)
使用Python的格式化功能之一。
print "{} . {}".format(menuNum, menuItem) # 2.7+ or 3.x
print "%d . %s" % (menuNum, menuItem)
答案 2 :(得分:0)
Python 2中的print
表达式在单行上的项之间放置空格。要避免这种情况,请首先创建一个看起来像要输出的单个字符串:
# string formatting
for menuItem in menuItems:
print '{0}. {1}'.format(menuNum, menuItem)
否则,请使用Python3 print
函数,该函数有更多可用选项。
# print function
from __future__ import print_function
for menuItem in menuItems:
print(menuNum, '. ', menuItem, sep='')
答案 3 :(得分:0)
只需使用:
from __future__ import print_function
print(menuNum, '. ', menuItem, sep='')
您还可以使用字符串格式:
print '{0}. {1}'.format(menuNum, menuItem)
答案 4 :(得分:0)
在使用逗号和打印时,“。”后面有空格,为您插入空格。 尽管我使用python 3.3,据我所知,使用'+'应该仍然有用。除非我遗漏了什么;以下工作正常。
print menuNum + '.' + menuItem