【问题标题】:c++ map<int, int> in pythonc++ map<int, int> in python
【发布时间】:2015-11-30 08:17:32
【问题描述】:

有人知道 python 上的 c++ 等价物吗?最初我以为我可以通过在 python 上初始化一个简单的数组来复制它,但它显然不这样做。有什么想法吗?

map<int, int>

诚挚的问候,非常感谢,

罗德里戈

【问题讨论】:

标签: python c++ dictionary


【解决方案1】:

是的,但请记住,python 对象不是静态类型的,因此不需要像此映射这样的声明(并且不会工作) 您在 python 中所做的是声明一个空字典并向其中添加整数。

例子:

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

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

my_map[3] = "Hello world"

并更改现有对象的类型:

my_map[1] = "Hello again"

【讨论】:

  • 相当于unordered_map&lt;int, int&gt;。未排序。
【解决方案2】:

你可以使用dict

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

希望这会有所帮助。

【讨论】:

  • 相当于unordered_map&lt;int, int&gt;。未排序。
【解决方案3】:

它被称为字典。 Python 中最强大的功能之一。有关文档,请参阅 here

d = dict()
d[1] = 5
d[5] = 2
print d[1]
print d[5]

【讨论】:

    【解决方案4】:
    elevators = {}
    elevatorFloor, elevatorPos = map(int, raw_input().split())
    elevators[elevatorFloor] = elevatorPos
    

    这应该适用于 Python 2。

    【讨论】:

    • 嘿,@Shreevardhan 我试过这样做,但控制台给了我一个错误,说它不是一个函数。
    • @RodrigoCarrilho Guess:从您的代码中删除名为 mapint 的变量。
    • @RodrigoCarrilho 它对我有用。说明您遇到的确切错误。
    • @Shreevardhan 那是确切的错误。不过,现在好像解决了。现在应该是其余代码的语法错误,这个位现在已经解决了。谢谢
    【解决方案5】:

    设法对其进行排序。我们都错过了一些语法错误,但这是正确的方法:

    elevators = {}
    
    elevators['clone_floor'] = clone_pos
    

    这行得通。

    再次感谢!

    【讨论】:

      猜你喜欢
      • 2013-01-24
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 2021-04-17
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      相关资源
      最近更新 更多