首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python列表替换

Python列表替换
EN

Stack Overflow用户
提问于 2012-01-01 15:37:13
回答 5查看 16.2K关注 0票数 0

可能重复: Python和换行

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

代码语言:javascript
复制
h = "2,3,45,6"
h = h.replace(',','\n')
print h

Returns:
2
3
45
6

有什么办法用单子来做吗?例如,将列表中的所有",“替换为"\n"?

清单,如:

代码语言:javascript
复制
h = ["hello","goodbye","how are you"]

"hello"
"goodbye"
"how are you"

脚本应该输出如下所示:

任何建议都是有帮助的!

EN

回答 5

Stack Overflow用户

发布于 2012-01-01 15:44:19

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

代码语言:javascript
复制
>>> h
['2', '3', '45', '6']
>>> print '\n'.join(str(i) for i in h)
2
3
45
6

同样地,对于第二个例子

代码语言:javascript
复制
>>> h = ["hello","goodbye","how are you"]
>>> print '\n'.join(str(i) for i in h)
hello
goodbye
how are you

如果您真的不使用字符串的引号,则可以使用以下方法

代码语言:javascript
复制
>>> 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"
>>> 
票数 5
EN

Stack Overflow用户

发布于 2012-01-01 15:42:29

您可以使用列表理解来实现这一点:

代码语言:javascript
复制
>>> search = 'foo'
>>> replace = 'bar'
>>> lst = ['my foo', 'foo', 'bip']
>>> print [x.replace(search, replace) for x in lst]
['my bar', 'bar', 'bip']
票数 2
EN

Stack Overflow用户

发布于 2012-01-01 15:42:38

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

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

代码语言:javascript
复制
"".join([str(x) for x in h])

这将评估为25689

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8693867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档