我有这个单子
names = [ ["cat", 9112, "dog123", 5625], ["luck", 1232, "bad23"] ]
根据this question 我用这个代码做到了
^{pr2}$输出-:[[9112, 5625], [1232]]
现在我想删除这样的重复号码。
expected output -: [[912, 562], [123]]
我在用这个代码,但它不起作用
m = sorted(list(set(new)))
print(m)
错误-:
Traceback (most recent call last):
File "main.py", line 13, in <module>
m = sorted(list(set(new)))
TypeError: unhashable type: 'list'
注意-:我只想保留第一个原始数字(例如-:1232
需要变成123
而不是132
)
下面是一个将整数转换为具有唯一数字的1的函数:
使用helper函数可能有助于提高代码的可读性。在
输出:
^{pr2}$它有点长,但希望它对你有用。在
列表是可变的;在Python中可变容器是不可散列的。}),因此,它不能转换为
set(names)
需要对names
的元素进行哈希排序,但是你的names
列表的元素是列表(["cat", 9112, "dog123", 5625]
和{set
。在试试这个:
输出如下:
^{pr2}$编辑:
这个解决方案将得到预期的结果。 这可能不是最佳的解决方案,OP也没有提到任何与性能有关的内容。在
相关问题 更多 >
编程相关推荐