无法对列表元素执行字符串操作
Unable to perform string operations on the list elements
我有一个列表,
list1 = [<td>-267</td>, <td>1,420</td>, <td>1,997</td>, <td>1,241</td>]
我想从里面的项目中删除 <td>
和 </td>
,所以我这样做了:
# Created empty list:
final = []
# then,
for i in list1:
i.replace('<td>', '').replace('</td>', '')
final.append(i)
给出错误类型错误:'NoneType'对象在附加到空列表时不可调用。
在这里工作正常:
a = '<td>-267</td>'
a.replace('<td>', '').replace('</td>', '')
输出='-267'
为什么它不能与 append 方法一起使用?
你做的差不多对了,只是你错过了给 i 赋值
Created empty list:
final = []
then,
for i in list1:
i=i.replace('<td>', '').replace('</td>', '')
final.append(i)
list1 = ['<td>-267</td>', '<td>1,420</td>', '<td>1,997</td>', '<td>1,241</td>']
final = []
for i in list1:
i = i.replace('<td>', '').replace('</td>', '')
final.append(i)
print(final)
首先你的列表应该是字符串值,然后试试上面的代码
替换
和 后,您必须将其分配回变量 'i':
final1 = []
for i in ["<td>-267</td>", "<td>1,420</td>", "<td>1,997</td>", "<td>1,241</td>"]:
i = i.replace("<td>", "").replace("</td>", "")
final1.append(i)
print(final1)
输出:['-267', '1,420', '1,997', '1,241']
您没有将值重新分配给 i
。 字符串 是不可变的数据类型,因此 replace
方法 returns 字符串的副本,其中所有出现的子字符串都是替换为另一个子字符串。
list1 = ["<td>-267</td>", " <td>1,420</td>", " <td>1,997</td>", " <td>1,241</td>"]
final = []
for i in list1:
i = i.replace('<td>', '').replace('</td>', '')
final.append(i)
print(final)
我有一个列表,
list1 = [<td>-267</td>, <td>1,420</td>, <td>1,997</td>, <td>1,241</td>]
我想从里面的项目中删除 <td>
和 </td>
,所以我这样做了:
# Created empty list:
final = []
# then,
for i in list1:
i.replace('<td>', '').replace('</td>', '')
final.append(i)
给出错误类型错误:'NoneType'对象在附加到空列表时不可调用。
在这里工作正常:
a = '<td>-267</td>'
a.replace('<td>', '').replace('</td>', '')
输出='-267'
为什么它不能与 append 方法一起使用?
你做的差不多对了,只是你错过了给 i 赋值
Created empty list:
final = []
then,
for i in list1:
i=i.replace('<td>', '').replace('</td>', '')
final.append(i)
list1 = ['<td>-267</td>', '<td>1,420</td>', '<td>1,997</td>', '<td>1,241</td>']
final = []
for i in list1:
i = i.replace('<td>', '').replace('</td>', '')
final.append(i)
print(final)
首先你的列表应该是字符串值,然后试试上面的代码
替换
final1 = []
for i in ["<td>-267</td>", "<td>1,420</td>", "<td>1,997</td>", "<td>1,241</td>"]:
i = i.replace("<td>", "").replace("</td>", "")
final1.append(i)
print(final1)
输出:['-267', '1,420', '1,997', '1,241']
您没有将值重新分配给 i
。 字符串 是不可变的数据类型,因此 replace
方法 returns 字符串的副本,其中所有出现的子字符串都是替换为另一个子字符串。
list1 = ["<td>-267</td>", " <td>1,420</td>", " <td>1,997</td>", " <td>1,241</td>"]
final = []
for i in list1:
i = i.replace('<td>', '').replace('</td>', '')
final.append(i)
print(final)