在Python中从For循环中删除空格

时间:2014-02-12 18:57:49

标签: python for-loop space

创建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

5 个答案:

答案 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