<p>你可以这样做:</p>
<pre><code>options = {
"option1": None,
"option2": None,
"option3": ["meta1", "meta2", "meta3"],
"option4": None,
}
</code></pre>
<p>但是<code>options</code>在本例中是一个字典。
如果您需要字典中的顺序,可以使用OrderedDict。在</p>
<p>如何使用<code>OrderedDict</code>?在</p>
^{2}$
<p>输出:</p>
<pre><code>['meta1', 'meta2', 'meta3']
['meta1', 'meta2', 'meta3']
None
</code></pre>
<p>在这里,您可以使用键(如<code>option3</code>)或索引(如<code>2</code>和<code>3</code>)访问{<cd1>}。在</p>
<p><em>免责声明。</em>我必须强调,这个解决方案不是PHP和Python之间的一对一映射。PHP是另一种语言,具有其他数据结构/其他语义等,不能在Python和PHP的数据结构之间进行一对一的映射。请考虑一下hyperoreus的答案(我给了他+1)。它展示了在Python中混合列表和字典的另一种方法。也请阅读我们下面的讨论。在</p>
<p><strong>更新1。</strong></p>
<p>如何处理这些结构?在</p>
<p>您必须检查每种情况下的值类型。
{cd7>你可以加入列表(^);
否则你可以按原样使用它。在</p>
<p>在这里,我将结构转换为类似URL的字符串:</p>
<pre><code>options = {
"option1": None,
"option2": None,
"option3": ["meta1", "meta2", "meta3"],
"option4": "str1",
}
res = []
for (k,v) in options.items():
if v is None:
continue
if type(v) == type([]):
res.append("%s=%s" % (k,"+".join(v)))
else:
res.append("%s=%s" % (k,v))
print "&".join(res)
</code></pre>
<p>输出:</p>
<pre><code>option4=str1&option3=meta1+meta2+meta3
</code></pre>