我正在为下面的javascript代码搜索与python等效的代码/函数。
let nameSetFlagMap = new Map();
有序字典
from collections import OrderedDict
nameSetFlagMap = OrderedDict()
nameSetFlagMap["a"] = "a"
nameSetFlagMap["b"] = "b"
您要查找的是Dictionary。
nameSetFlagMap={}
#or
nameSetFlagMap=dict()
你可以在这里了解更多关于
以上两个答案都是错误的,因为它们的行为与js 中的Map((不同
from collections import OrderedDict
asd = OrderedDict()
asd2 = []
asd[asd2] = 123
asd2.append(444)
print(asd)
print(asd[asd2])
输出:
Traceback (most recent call last):
File "/home/nikel/asd.py", line 10, in <module>
asd[asd2] = 123
TypeError: unhashable type: 'list'
from collections import OrderedDict
asd = OrderedDict()
asd2 = {}
asd[asd2] = 123
asd2.append(444)
print(asd)
print(asd[asd2])
输出:
Traceback (most recent call last):
File "/home/nikel/asd.py", line 10, in <module>
asd[asd2] = 123
TypeError: unhashable type: 'list'
test_map = new Map()
test_map[555] = 666
list1 = []
list2 = [123]
list3 = []
test_map.set(list1, 'list1')
test_map.set(list2, 'list2')
test_map.set(list3, 'list3')
list2.push(4442)
console.log(test_map)
console.log(test_map.get(list1))
console.log(test_map.get(list2))
console.log(test_map.get(list3))
输出:
Map(3) {
[] => 'list1',
[ 123, 4442 ] => 'list2',
[] => 'list3',
'555': 666
}
list1
list2
list3
我目前也在搜索模拟,所以我会在找到它后更新。
但根据这个答案,这似乎是不可能的。