python - 从列表和字典创建新元组

标签 python numpy dictionary tuples

我试图通过将字典键和 numpy 数组拼接在一起来创建一个新元组,并将其转换为列表。但是,我收到此错误

TypeError: list indices must be integers, not tuple

这是我的代码

import numpy
import random


print(ly) 
{(1, 3): 2, (5, 2): 1, (10, 1): 0}

def myFun(layout):
    possibilities = numpy.zeros(shape=(4,2))
    possibilities[0] = [1, 0]
    possibilities[1] = [-1, 0]
    possibilities[2] = [0, 1]
    possibilities[3] = [0, -1]

    newLayout = tuple()
    for i in layout:
        randomDirection = random.choice( possibilities )
        newLayout = newLayout + layout.keys()[i] + list(randomDirection)

解释器显示这一行

newLayout = newLayout + layout.keys()[i] + list(randomDirection)

有问题,但我不明白为什么

最佳答案

而不是在代码中newLayout = newLayout + layout.keys()[i] + list(randomDirection)

使用以下内容, newLayout = newLayout + 布局[i] + list(randomDirection)

解决你的问题

关于python - 从列表和字典创建新元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44897317/

相关文章:

ios - 检查字典中的对象是否为 Int (Swift)

python - 将 NumPy 数组转换为带有列的 Pandas Dataframe

c++ - 在 C++ 中在 map 的键上设置交集

python - 使用 gitpython 编辑提交

python - 如何将 JSON Web token (JWT) 传递给获取请求

python - 使用 Swig 将 numpy 字符串数组传递给 C

python - 具有 numpy 1d 数组容差的阈值过滤器

python - 覆盖内置类,特别是字典类

python - 硬盘驱动器序列号可以/为什么会更改

Python 多处理 - 了解每个进程进度的最佳方式