Python列表代表

2024-05-15 15:35:52 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Python and Line Breaks

在Python中,我知道当处理字符串时,可以使用“replace”替换字符串中的某个字符。例如:

h = "2,3,45,6"
h = h.replace(',','\n')
print h

Returns:
2
3
45
6

有没有一个清单可以这么做?例如,将列表中的所有“,”替换为“\n”?

列表如下:

h = ["hello","goodbye","how are you"]

"hello"
"goodbye"
"how are you"

脚本应该输出如下内容:

任何建议都会有帮助的!


Tags: and字符串youhello列表line字符are
3条回答

看看你的例子和愿望,你可以使用str.join,这可能是你想要的

>>> h
['2', '3', '45', '6']
>>> print '\n'.join(str(i) for i in h)
2
3
45
6

第二个例子也一样

>>> h = ["hello","goodbye","how are you"]
>>> print '\n'.join(str(i) for i in h)
hello
goodbye
how are you

如果你真的不想用引号括字符串,你可以用下面的

>>> h = ["hello","goodbye","how are you"]
>>> print '\n'.join('"{0}"'.format(i) if isinstance(i,str) else str(i) for i in h)
"hello"
"goodbye"
"how are you"
>>> 

你可以使用列表理解:

>>> search = 'foo'
>>> replace = 'bar'
>>> lst = ['my foo', 'foo', 'bip']
>>> print [x.replace(search, replace) for x in lst]
['my bar', 'bar', 'bip']

在像h = [2,5,6,8,9]这样的列表中,列表本身确实没有逗号可替换。列表包含项25等等,逗号只是外部表示的一部分,以便更容易直观地分离项。

因此,要从列表中生成一些不带逗号的输出表单,可以使用任意数量的技术。例如,要将它们全部连接到一个没有逗号的字符串中,请使用:

"".join([str(x) for x in h])

这将评估为25689

相关问题 更多 >