'STR' 对象没有属性 '删除'
问题描述:
我想从下面列表 -'STR' 对象没有属性 '删除'
列表中删除362968 = [362976,362974,362971,362968,362969]
代码 -
list.remove(362968)
我收到错误: '海峡' 对象有没有属性 '删除'
实际代码 -
def matchmaker():
exportersfree = exporters[:]
engaged = {}
exprefers2 = copy.deepcopy(exprefers)
imprefers2 = copy.deepcopy(imprefers)
while exportersfree:
exporter = exportersfree.pop(0)
exporterslist = exprefers2[exporter]
importer = exporterslist.pop(0)
match = engaged.get(importer)
if not match:
# impo's free
engaged[importer] = exporter #both parties are added to the engaged list
importerslist = imprefers2[importer]
for z in range (importerslist.index(exporter)-1):
importerslist.index(exporter)
exprefers2[importerslist[z]].remove(importer)
del importerslist[0:(importerslist.index(exporter)-1)]
else
engaged[importer] = exporter
if exprefers2[match]:
# Ex has more importers to try
exportersfree.append(match)
return engaged
答
没有额外的代码来真正调试,exprefers2显然是一个字符串的字典;但是,如果你真的想删除它。您可以将字符串转换为一个列表,或EVAL将它转换成一个列表中的值,则可以援引使用list.remove
import ast
list = [1, 2, 3, 4, 5, 6, 7]
list.remove(5)
print list
#[1, 2, 3, 4, 6, 7]
#Data Structure you most likely have
import_list = [1, 2]
exprefers2 = {1: "abc", 2: "xyz"}
print exprefers2[import_list[1]]
#xyz
#Or need to eval the string of a list
import_list = [1, 2]
exprefers2 = {1: u'[ "A","B","C" , " D"]', 2: u'[ "z","x","y" , " y"]'}
exprefers2[import_list[1]] = ast.literal_eval(exprefers2[import_list[1]])
exprefers2[import_list[1]].remove("y")
print exprefers2[import_list[1]]
#['z', 'x', ' y']
答
试试这样,然后,将您的列表命名为“a”。
a = [362976,362974,362971,362968,362969]
a.remove(362968)
print a
+0
我有我的列表名称为'exprefers2 [importerslist [z]]'和exprefers2是一个字典和importerslist是一个列表 – Karvy1
德尔列表[3],试试这个 –
我宁愿删除的项项目本身。 – Karvy1
嗯,这是不正确的。这两行代码在Python2.7中工作正常。因为这是列表构造函数,所以还要将列表名称更改为“list”以外的内容。 – CristiFati