如何替换列表中的特定值?

时间:2019-04-14 17:46:34

标签: python list replace

我有以下列表:

x = [['0_1 1_0']]

我想用0代替0_1。

这是香港专业教育学院已经尝试过的:

x[0].replace("0_1", "0")

但是随后我得到了以下错误信息:

AttributeError: 'list' object has no attribute 'replace'

4 个答案:

答案 0 :(得分:4)

应该是:

$ROOT_DIR

因为:

#!/bin/sh

. $ROOT_DIR/scripts/bit.func

由于字符串是不可变的,因此您不能就地更改它们,而必须将其重新分配。

答案 1 :(得分:0)

由于执行x [0]时具有二维列表,因此可以访问列表中的列表。 x [0] [0] .replace(“ 0_1”,“ 0”)

答案 2 :(得分:0)

因此,您需要了解可以在其中使用替换功能的生态系统。例如,如果有一个字符串I want to replace string operation properly,而您想将replace替换为learn,那么它就是这样。

string = "I want to replace string operation properly"
new_string = string.replace("replace", "learn")

在您的情况下,字符串项目位于嵌套列表内。因此,首先您需要访问嵌套列表中的项目:

test_list = [["foo_1"], ["foo_1"], ["bar_2"], ["soo_2"]]

new_list = []
for item in test_list: # iterate through the list and fix it
    print("Actual:", item[0])
    print("Replaced:", item[0].replace("foo", "who"))
    new_list.append(item[0].replace("foo", "who"))

答案 3 :(得分:-1)

您已经将列表定义为列表,因此,您需要提供两个索引来访问在您的情况下被写为块“ 0_1 1_0”的信息。因此,您必须更改整个块,而不仅仅是所需的“ 0_1”。

x[0][0] = '0' #--> will generate x = [['0']].

另一个选择是逐个元素定义列表:

x = ['0_1','1_0']

然后,您可以通过提供相应的索引来替换内容

x[0] = '0'

我希望它能起作用。

最诚挚的问候

拉米尔