【发布时间】:2018-02-08 00:30:25
【问题描述】:
我试图将几个元素附加到列表list_accepted_outsidenestant。当我尝试打印列表list_accepted_outsidenestant 时,我得到:list_accepted_outsidenestant- [([971, 977, 728, 740], set([728, 977, 971, 740]))]。该列表显示了一个列表并设置了相同的元素。谁能指出我正在做的错误?因此,我收到一个错误:
set_accepted_outsidenest_antlist = set(list_accepted_outsidenestant
TypeError: unhashable type: 'list'
我展示了仅与当前问题相关的部分代码。
def leo(tag_data):
available_ants_outside = []
ori = []
for id, (x, y) in tag_data:
available_ants_outside.append(id)
if for_coordinates_outside_nest((x, y)) is True:
ori.append(id)
return ori
def virgo(tag_data):
available_ants_inside = []
list_insidenest_ant_id = []
set_inside_nest_ant_id = set()
for id, (x, y) in tag_data:
available_ants_inside.append(id)
if for_coordinates_inside_nest((x, y)) is True:
list_insidenest_ant_id.append(id)
set_inside_nest_ant_id = set(list_insidenest_ant_id)
return list_insidenest_ant_id,set_inside_nest_ant_id
def bambino(ori,list_insidenest_ant_id):
list_accepted_outsidenestant = []
set_accepted_outsidenest_antlist = set()
set_accepted_insidenest_antlist = set()
if len(list_accepted_outsidenestant) < num_accepted:
if (len(ori) > 0) or (len(list_insidenest_ant_id) >0):
list_accepted_outsidenestant.extend(ori[0:min(len(ori),
num_accepted-len(list_accepted_outsidenestant))])
set_accepted_outsidenest_antlist = set(list_accepted_outsidenestant)
print "list_accepted_outsidenestant-" + str(list_accepted_outsidenestant)
set_accepted_insidenest_antlist = set(list_insidenest_ant_id)
return set_accepted_outsidenest_antlist,set_list_outsideant_id,set_accepted_insidenest_antlist
【问题讨论】:
-
这段代码很难阅读。请尝试追查问题是从哪里引入的,并且行为与您的预期不同。
-
换句话说,请创建一个minimal reproducible example 来证明您的问题。
-
@ChristianDean 我想要的是
list_accepted_outsidenestant = [971, 977, 728, 740] -
@philippd 。我只是想将元素扩展到列表
list_accepted_outsidenestant。我期望的是;list_accepted_outsidenestant = [971, 977, 728, 740]。我得到的是list_accepted_outsidenestant- [([971, 977, 728, 740], set([728, 977, 971, 740]))] -
我不会检查您的代码并为您解决问题。在某些时候,您将一组元组附加到列表中。您只需找出位置,然后将集合转换为列表并使用 list.extend 方法或 list.append 方法。
标签: python list loops if-statement set