【发布时间】:2012-10-26 21:50:07
【问题描述】:
我使用下划线来表示未知单词的长度。如何只打印下划线而没有代表列表的括号?
基本上,如果我有一个['_', '_', '_', '_'] 形式的列表,我想打印下划线而不用列表语法将它们打印为"_ _ _ _"
【问题讨论】:
我使用下划线来表示未知单词的长度。如何只打印下划线而没有代表列表的括号?
基本上,如果我有一个['_', '_', '_', '_'] 形式的列表,我想打印下划线而不用列表语法将它们打印为"_ _ _ _"
【问题讨论】:
这对你有用吗
>>> my_dashes = ['_', '_', '_', '_']
>>> print ''.join(my_dashes)
____
>>> print ' '.join(my_dashes)
_ _ _ _
【讨论】:
In [1]: my_dashes = ['_', '_', '_', '_']
In [2]: str(my_dashes).translate(None, '[],\'')
Out[2]: '_ _ _ _'
在 deletechars 字符串中添加一个额外的空格以将破折号放在一起。
【讨论】:
前面提到的join 解决方案(如下一行)是一个合理的解决方案:
print ''.join(['_', '_', '_', '_'])
____
但还请注意,您可以使用reduce() 来完成这项工作:
print reduce(lambda x,y: x+y, ['_', '_', '_', '_'])
____
在import operator之后你可以说:
print reduce(operator.add, ['_', '_', '_', '_'])
____
【讨论】: