我有以下列表:
x = [['0_1 1_0']]
我想用0代替0_1。
这是香港专业教育学院已经尝试过的:
x[0].replace("0_1", "0")
但是随后我得到了以下错误信息:
AttributeError: 'list' object has no attribute 'replace'
答案 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'
我希望它能起作用。
最诚挚的问候
拉米尔