2

这看起来很简单,但我不知道该怎么做。

我需要将列表中的元素打印到字符串中。我正在尝试使用列表理解,但解释器会引发错误。

print '%s (...) %s (...) %s%s (...)%s (...)'%(i for i in mylist)

我不能使用 print '%s'%(i for i in mylist) 因为字符串没有常规结构。上面的代码有语法错误。正确的形式是什么?

提前致谢。

4

1 回答 1

3

将列表改为元组:

print '%s (...) %s (...) %s%s (...)%s (...)' % tuple(mylist)

演示:

>>> mylist = ['a', 'b', 'c', 'd', 'e']
>>> print '%s (...) %s (...) %s%s (...)%s (...)' % tuple(mylist)
a (...) b (...) cd (...)e (...)

或者,使用该.format()方法来格式化您的字符串:

print '{} (...) {} (...) {}{} (...){} (...)'.format(*mylist)

.format()还支持索引到列表中:

print '{0[0]} (...) {0[1]} (...) {0[2]}{0[3]} (...){0[4]} (...)'.format(mylist)
于 2013-03-22T16:32:29.880 回答