我有一个列表,
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)
给出错误TypeError:"NoneType"对象在追加到空列表时不可调用。
它在这里运行良好:
a = '<td>-267</td>'
a.replace('<td>', '').replace('</td>', '')
输出='-267'
为什么它不适用于append方法的家伙?
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 赋值
Created empty list:
final = []
then,
for i in list1:
i=i.replace('<td>', '').replace('</td>', '')
final.append(i)
在替换<td>并且<td>:
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','1420','1997','1241']
您没有将值分配回i
字符串是不可变的数据类型,因此replace
方法返回字符串的副本,其中一个子字符串的所有出现都被另一个子字符串替换。
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)