Php 我如何用Python编写这个?

Php 我如何用Python编写这个?,php,python,Php,Python,我已经开发了一个脚本,我想用python编写这个php代码 如何在python中创建thiscategories数组 到目前为止,我已经做到了: $class->categories[$cat->category_parent_id][]=$cat; 但我不确定这是否是正确的实现。让我们来分析一下: categories_c.insert(row["category_parent_id"], row) 这将访问$class对象的类别属性。在Python中,这是: $class-&

我已经开发了一个脚本,我想用python编写这个php代码

如何在python中创建this
categories
数组

到目前为止,我已经做到了:

$class->categories[$cat->category_parent_id][]=$cat;
但我不确定这是否是正确的实现。

让我们来分析一下:

categories_c.insert(row["category_parent_id"], row)
这将访问
$class
对象的
类别
属性。在Python中,这是:

$class->categories
在这里,我们假设
categories
是一个
dict
,因为您想这样做:

klass.categories  # (class is a reserved keyword, using klass instead)
这将访问数组的特定键,在Python中,该键将是dict的键:

categories[$cat->category_parent_id]
现在是棘手的部分:

categories[cat.category_parent_id]
这会将
$cat
推入阵列。在Python中,这意味着向
列表添加一个值。如果子数组不存在,PHP将根据需要隐式创建新的子数组Python没有。这是唯一需要额外考虑的部分。您需要知道的是,
dict
中是否已经存在
categories[cat.category\u parent\u id]
,或者是否要在此过程中创建它

如果您知道它存在,如果
categories
是一个
list
s的
dict
,其中所有
cat.categority\u parent\u id
键都已预填充,那么它就这么简单:

...[] = $cat
但是,如果密钥不存在,则必须确保已创建密钥,并且在第一次访问密钥时将其值设置为
列表。Python中最简洁的表示法是
dict.setdefault
方法:

klass.categories[cat.category_parent_id].append(cat)

如果
categories[cat.categority\u parent\u id]
存在,则返回它,您可以
将其追加到
。如果它不存在,则创建并初始化为
[]
,然后返回。

StackOverflow不是代码翻译服务一种方法可以是学习python。另一个是雇佣一名懂python的实习生,我忘了提到的是,
cat
这里有一条通过启动mysql查询获得的记录。这有关系吗?没有?对大概这取决于它到底是什么,您希望它是什么,以及它是否会造成任何问题。
对于类别中的子类别[cat[“category\u parent\u id”]:
这是从
类别检索数据的正确实现吗
?我不知道,因为我没有足够的上下文来回答这个问题。好的,我不知道你的数据是什么样子的。如前所述,我在回答中做了一些假设。如果你需要更详细的帮助,你必须提供更多的细节。为此发布一个新问题。
klass.categories.setdefault(cat.category_parent_id, []).append(cat)