可能重复: Python和换行
在Python中,我知道当您处理字符串时,可以使用“替换”来替换字符串中的某个字符。例如:
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"脚本应该输出如下所示:
任何建议都是有帮助的!
发布于 2012-01-01 15:44:19
看看你的例子和愿望,你可以使用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"
>>> 发布于 2012-01-01 15:42:29
您可以使用列表理解来实现这一点:
>>> search = 'foo'
>>> replace = 'bar'
>>> lst = ['my foo', 'foo', 'bip']
>>> print [x.replace(search, replace) for x in lst]
['my bar', 'bar', 'bip']发布于 2012-01-01 15:42:38
在像您的h = [2,5,6,8,9]这样的列表中,列表本身实际上没有逗号可以替换。该列表包含项目2、5等,逗号只是外部表示的一部分,以便更容易地将项目直观地分开。
因此,要从列表中生成一些输出表单,但不需要逗号,您可以使用任意数量的技术。例如,要将它们连接到一个没有逗号的字符串中,请使用:
"".join([str(x) for x in h])这将评估为25689。
https://stackoverflow.com/questions/8693867
复制相似问题