Python 删除列表中的重复项,但不应根据计数删除第一个首选项

Python 删除列表中的重复项,但不应根据计数删除第一个首选项,python,python-3.x,Python,Python 3.x,我有两个列表“myarray”和“u”。列表“myarray”包含名称,它们的计数在列表“u”中。我想删除myarray中的重复项以及它们在u中的计数。但我希望第一个首选项保持不变 myarray=['1.2','2.3','1.00','1.2','1.2','4.7','4.7','3.2','5.5','1.2','4.7']; u=['hi','hello','bye','hi','hi','nice','ok','yup','i', 'heya', 'ok']; 我用过这个方法,但它

我有两个列表“myarray”和“u”。列表“myarray”包含名称,它们的计数在列表“u”中。我想删除myarray中的重复项以及它们在u中的计数。但我希望第一个首选项保持不变

myarray=['1.2','2.3','1.00','1.2','1.2','4.7','4.7','3.2','5.5','1.2','4.7'];
u=['hi','hello','bye','hi','hi','nice','ok','yup','i', 'heya', 'ok'];
我用过这个方法,但它怎么会失败呢

m=list(set(myarray))
print('myarray',m)
counts=list(set(u))
print("counts",counts)
期望输出:

 myarray=[1.2,2.3,'1.00','4.7',4.7',3.2,'5.5','1.2']
 u=['hi','hello','bye','nice', 'ok','yup','i','heya']

您可以尝试以下方法:

myarray=['1.2','2.3','1.00','1.2','1.2','4.7','4.7','3.2','5.5','1.2','4.7']
u=['hi','hello','bye','hi','hi','nice','ok','yup','i', 'heya', 'ok']

new_array = []
new_u = []
for word, count in zip(u, myarray):
    if word in new_u:
        continue
    else:
        new_array.append(count)
        new_u.append(word)

print(new_array)
print(new_u)
#  ['1.2', '2.3', '1.00', '4.7', '4.7', '3.2', '5.5', '1.2']
#  ['hi', 'hello', 'bye', 'nice', 'ok', 'yup', 'i', 'heya']

哪里失败了?我不太明白这个问题。它是否归结为“在保持订单的同时删除重复项”?谢谢,它解决了我的问题:)