vit*_*tto 4 python list object
我正在尝试编写一个Sublime Text 2插件并在文件中获取一些值.subilme-settings。
{
"files":
[
{
"name" : "Markdown",
"extension" : ".md"
},{
"name" : "Python",
"extension" : ".py"
},{
"name" : "Sublime Text Setting",
"extension" : ".sublime-settings"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是我第一次使用Python,我不知道该怎么做,确实存在这样的东西:
my_array.indexOf({"extension":".py"})
Run Code Online (Sandbox Code Playgroud)
Python 列表确实有一个index方法。但它只找到等于参数的值,而不是具有与您的部分值匹配的参数的值。
Python 中确实没有任何东西可以像这样找到部分结构匹配;您可以搜索/过滤/等等。关于相等,或者关于谓词函数,但是您必须自己编写其他任何内容。
\n\n最简单的方法是使用循环。你可以明确地写它:
\n\nfor index, element in enumerate(my_array):\n if element["extension"] == ".py":\n return index\nRun Code Online (Sandbox Code Playgroud)\n\n\xe2\x80\xa6 或在理解中:
\n\nreturn next(index for index, element in enumerate(array)\n if element["extension"] == ".py")\nRun Code Online (Sandbox Code Playgroud)\n\n或者,您可以将匹配转换为函数,并将其传递给filter,或将其用作key更复杂的高阶函数中的函数,但这里似乎没有任何真正的优势。
当然,indexOf如果您愿意,您可以编写自己的类似函数来匹配部分结构。