【问题标题】:How to convert Array in C++ to Python? [closed]如何将 C++ 中的数组转换为 Python? [关闭]
【发布时间】:2011-10-14 06:35:41
【问题描述】:

如何转换这个 C++ 代码

for(int i=0; i<3; ++i){
   array[i][0]=i*4+0;
   array[i][1]=i*4+1;
   array[i][2]=i*4+2;
   array[i][3]=i*4+3;}

到 Python ?


当您的 IDE 显示 xrange未定义的函数时,请查看 @ThiefMaste'cmets:

仅仅因为你的 IDE 说某些东西没有定义,并不意味着它没有定义。但是,如果您使用的是 Python3,则未定义它,因为它已重命名为 range(并且删除了原始的非迭代器范围)

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    这个怎么样:

    In [3]: [[i*4+j for j in xrange(4)] for i in xrange(3)]
    Out[3]: [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]
    

    【讨论】:

    • 第二个 xrange 应该是 xrange(3),因为他的循环是 &lt;3,而不是 &lt;=3
    • @ThiefMaster:谢谢,错字已修正。
    【解决方案2】:
    array = []
    for i in range(3):
        list.append([i*4, i*4+1, i*4+2, i*4+3])
    

    或者更准确地说(如果列表之前不为空):

    for i in range(3):
        list[i] = [i*4, i*4+1, i*4+2, i*4+3]
    

    生成 4 个元素的更 Pythonic 方法是:

    [i*4+n for n in range(4)]
    

    【讨论】:

    • 仅仅因为你的 IDE 说某些东西没有定义,并不意味着它没有定义。但是,如果您使用的是 Python3,则它 没有定义,因为它已重命名为 range(并且删除了原始的非迭代器 range
    • @roccia:在他们提出的问题得到回答后,请停止删除您的 cmets 吗?!
    • @ThiefMaster:o..o ~ 我试图让问题更清楚,所以我删除了 cmets..
    • 但问题是以下读者无法阅读您的评论,因此他们很难理解答案
    • ...我将在原始问题中添加问题..
    猜你喜欢
    • 2018-04-30
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 2016-04-25
    • 2020-08-26
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    相关资源
    最近更新 更多