如何打印枚举列表(使用char)而不分隔字符

时间:2018-06-13 13:06:57

标签: python python-3.x

我一直在疯狂地解决以下问题,但我似乎无法找到正确的表达方式。代码如下:

nameList = ['j', 'a', 'm', 'e', 's']
for index, i in enumerate(nameList):
    print(___________ , sep='x', end = '')

需要做的是用索引和i之间的表达填补空白,这将最终打印0j1a2m3e4s。我尝试了很多东西,但我似乎只是被困在这里。

非常感谢任何帮助或提示。

4 个答案:

答案 0 :(得分:1)

enumerate format

一起使用
nameList = ['j', 'a', 'm', 'e', 's']
for index, i in enumerate(nameList):
    print('{}{}'.format(index, i), end = '')

# 0j1a2m3e4s

或没有format

nameList = ['j', 'a', 'm', 'e', 's']
for index, i in enumerate(nameList):
    print(str(index) + i, end = '')

答案 1 :(得分:0)

我们可以使用itertools.chain.from_iterable展平enumerate,然后使用空字符串''分隔这些字符。

from itertools import chain

nameList = ['j', 'a', 'm', 'e', 's']
print(*chain.from_iterable(enumerate(nameList)), sep='')
# 0j1a2m3e4s

答案 2 :(得分:0)

您可以使用string.join语句来实现此目的:

print "".join(str(index) + i for index, i in enumerate(nameList))

>>> 0j1a2m3e4s

答案 3 :(得分:-1)

为什么不

print(''.join('{}{}'.format(index, i) for index, i in enumerate(nameList))

甚至更好的python 3.6

print(''.join(f'{index}{i}' for index, i in enumerate(nameList))