在Python中实现C++的map<int, int>

6

有没有人知道Python中的C++等效代码?最初我以为可以通过在Python上初始化一个简单的数组来复制它,但显然这并不相同。有什么想法吗?

map<int, int>

亲切的问候和感谢,
罗德里戈

可能是http://stackoverflow.com/questions/5496911的重复问题,Python中的字典可以看作是C++中的映射。 - user2358582
5个回答

0

是的,但请记住,Python 对象没有静态类型,因此不需要(也无法)像这样声明一个 map。

在 Python 中,您需要声明一个空字典并向其中添加整数。

例如:

my_map = {} #empty dictionary
my_map[1] = 100
my_map[2] = 150

但是继续向字典中添加不同类型的对象也不会有任何问题:

my_map[3] = "Hello world"

并更改现有对象的类型:

my_map[1] = "Hello again"

1
这相当于 unordered_map<int, int>。它没有排序。 - Jan Kaifer

0

你可以使用dict

elevators = {}
clone_floor, clone_pos = map(int, raw_input().split())
elevators[clone_floor] = clone_pos

希望这能有所帮助。

1
这相当于 unordered_map<int, int>。它没有排序。 - Jan Kaifer

-1
它被称为字典。是Python中最强大的功能之一。请看这里获取文档。
d = dict()
d[1] = 5
d[5] = 2
print d[1]
print d[5]

-1
elevators = {}
elevatorFloor, elevatorPos = map(int, raw_input().split())
elevators[elevatorFloor] = elevatorPos

这应该在Python 2中有效。


嘿,@Shreevardhan我试着做这个,但是控制台报错说这不是一个函数。 - Rodrigo Carrilho
@RodrigoCarrilho 猜测:从您的代码中删除名为 mapint 的变量。 - Serge Seredenko
@RodrigoCarrilho 对我来说它是有效的。请说明您遇到的确切错误。 - Shreevardhan
@Shreevardhan,那就是确切的错误。不过现在似乎已经解决了。现在应该只是代码中其他部分的语法错误,这一部分已经解决了。谢谢。 - Rodrigo Carrilho

-1

终于解决了。我们都错过了一些语法错误,但这是正确的方法:

elevators = {}

elevators['clone_floor'] = clone_pos

这个有效。

再次感谢!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接