我想在字典中的字典中打印数字:

frame = ['frame1', 'frame2', 'frame3', 'frame4', 'frame5', 'frame6']
dx = [12, 34, 55, 66, 78, 65, 56, 234, 876, 999, 345, 945]
pd = ['pd1', 'pd2']

data = {}
dt = {}
k=0
for i in pd :
    dt[i] = []
    for j in frame :
        data[j] = dt
        data[j][i] = dx[k]
        k+=1

对于此代码,它只保留最后的值:

{'frame1': {'pd1': 65, 'pd2': 945}, 'frame2': {'pd1': 65, 'pd2': 945}, 'frame3': {'pd1': 65, 'pd2': 945}, 'frame4': {'pd1': 65, 'pd2': 945}, 'frame5': {'pd1': 65, 'pd2': 945}, 'frame6': {'pd1': 65, 'pd2': 945}}

这就是我想要的结果:

{'frame1': {'pd1': 12, 'pd2': 56}, 'frame2': {'pd1': 34, 'pd2': 234}, 'frame3': {'pd1': 55, 'pd2': 876}, 'frame4': {'pd1': 66, 'pd2': 999}, 'frame5': {'pd1': 78, 'pd2': 345}, 'frame6': {'pd1': 65, 'pd2': 945}}

我如何才能做到这一点?

推荐答案

这应该行得通

data = {}
k=0
for i in pd:
    for j in frame :
        # use setdefault to initialize inner dictionary
        data.setdefault(j, {})[i] = dx[k]
        k+=1
data
{'frame1': {'pd1': 12, 'pd2': 56},
 'frame2': {'pd1': 34, 'pd2': 234},
 'frame3': {'pd1': 55, 'pd2': 876},
 'frame4': {'pd1': 66, 'pd2': 999},
 'frame5': {'pd1': 78, 'pd2': 345},
 'frame6': {'pd1': 65, 'pd2': 945}}

Python相关问答推荐

三个给定的坐标可以是矩形的点吗

线性模型PanelOLS和statmodels OLS之间的区别

Python daskValue错误:无法识别的区块管理器dask -必须是以下之一:[]

如何让剧作家等待Python中出现特定cookie(然后返回它)?

抓取rotowire MLB球员新闻并使用Python形成表格

为什么符号没有按顺序添加?

在Polars(Python库)中将二进制转换为具有非UTF-8字符的字符串变量

管道冻结和管道卸载

如何在Python数据框架中加速序列的符号化

* 动态地 * 修饰Python中的递归函数

Flask运行时无法在Python中打印到控制台

为什么t sns.barplot图例不显示所有值?'

我什么时候应该使用帆布和标签?

当我定义一个继承的类时,我可以避免使用`metaclass=`吗?

用0填充没有覆盖范围的垃圾箱

时长超过24小时如何从Excel导入时长数据

.awk文件可以使用子进程执行吗?

在MongoDB文档中仅返回数组字段

我如何为测试函数的参数化提供fixture 生成的数据?如果我可以的话,还有其他 Select 吗?

对包含JSON列的DataFrame进行分组