我有两个列表“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']
关于python - 删除列表中的重复项,但不应根据计数删除第一个首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43557495/