您好,我有一个转换为字符串的小数列表,以便能够更改逗号的点。但是使用“替换”它不允许我进行更改,我这样做是这样的:
for i in range(len(UCL)): #UCL de corte
UCL[i].replace(".",",")
print(UCL[i])
原始 UCL 列表的形式为:
['2.363636368', '2.17391304', '3.875', '2.282828286', '2.383838386', '2.616161618', '2.363636368', '4.85', '4.75', '2.282828289', '2.616161618', '0.666666666', '3.0', '3.272727272', '2.434343439', '0.666666666', '0.666666666', '2.538461538', '0.666666666', '3.875', '2.616161618', '2.393939396', '0.666666666', '0.666666666', '0.666666666', '0.666666666', '2.383838384']
我的想法是打印相同的内容,但将 UCL 列表的每个字符串中的点更改为逗号。
问题是它
str
是不可变的,replace
因此返回字符串的副本(它不能修改原始字符串)。您可以使用列表压缩创建一个新列表:如果您更喜欢使用
for
普通列表并修改原始列表,您应该这样做:我假设您除了打印之外还想修改列表。如果您只想使用逗号打印,而不修改原始列表,您可以这样做(在 Python 3 中):
或者对于 Python 2/Python3:
Jorge,在 Python 字符串中,像许多其他对象一样是不可变的,请执行以下操作:
它将返回:
有了这个,我们确认它
s
仍然值得“1.4”。需要做的是通过分配来生成一个新的字符串:现在是的
在您的示例中,您应该执行以下操作:
我使用了这个,如果它对我有用:
(tudato.replace(".",',') or :)
在替换之后,您提到要替换的内容,在您想要出现的内容以及
or
方式或更改之后,.
或者:
,
这个对我有用: