可能重复:
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"
脚本应该输出这样的东西:
任何建议都会有所帮助!
答案 0 :(得分:5)
看看你的例子和愿望,你可以使用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"
>>>
答案 1 :(得分:2)
你可以使用列表理解:
>>> search = 'foo'
>>> replace = 'bar'
>>> lst = ['my foo', 'foo', 'bip']
>>> print [x.replace(search, replace) for x in lst]
['my bar', 'bar', 'bip']
答案 2 :(得分:1)
在像h = [2,5,6,8,9]
这样的列表中,列表本身确实没有要替换的逗号。该列表包含项2
,5
等等,逗号只是外部表示的一部分,以便更容易直观地分离项目。
因此,要从列表中生成一些输出形式但没有逗号,您可以使用任意数量的技术。例如,要将它们全部加入到不带逗号的单个字符串中,请使用:
"".join([str(x) for x in h])
这将评估为25689
。
答案 3 :(得分:0)
for each in h: print each
在3.x中:
for each in h: print(each)
列表只是数据的表示。您只能影响它在输出中的显示方式。
答案 4 :(得分:0)
您可以替换字符串中的',',因为','是字符串本身的一部分,但您不能替换列表中的','因为它不是列表中的项而是它是使用的通过python描述这样一个列表中的不同项目以及开始和结束方括号。这就像问你是否可以替换用于创建字符串的'''。另一方面,如果','是列表中的项目,并且你想用换行项替换它,那么你可以使用列表推导像:
['\n' if x=="," else x for x in yourlist]
或者如果您想在一行上打印每个项目,您可以使用:
for item in list:
print item