python2d数组按键获取值

2024-04-23 11:28:07 发布

您现在位置:Python中文网/ 问答频道 /正文

假设其结构如下:

from django.utils.translation import ugettext_lazy as _

# Constants for all available difficulty types.
SIMPLE = 1
MEDIUM = 2
DIFFICULT = 3

# Names for all available difficulty types.
DIFFICULTIES = (
    (SIMPLE, _("simple")),
    (MEDIUM, _("medium")),
    (DIFFICULT, _("difficult")),
)

如果给定一个常量,如何获得字符串值?在

循环很容易编程,但是有没有一种类似于python的更短的方式来使用单个表达式呢?在

表达式

DIFFICULTIES[SIMPLE][1]

返回字符串“medium”。显然有什么不对。在


Tags: django字符串fromfor表达式allsimple结构
3条回答

因为您指定了一个元组,一个从0开始的索引,所以您需要切换到dictionary或用正确的值修改常量:

DIFFICULTIES = {SIMPLE: "simple", MEDIUM: "medium", DIFFICULT: "difficult"}

或者:

^{pr2}$

使用字典:

SIMPLE, MEDIUM, DIFFICULT = range(3)
DIFFICULTIES = {
    SIMPLE: _("simple"),
    MEDIUM: _("medium"),
    DIFFICULT: _("difficult")
}
DIFFICULTIES[SIMPLE] # will return "simple"

Of course you can use a dict, but the array is given.

所以交换吧。(我假设你保留了收据…)

>>> dict(DIFFICULTIES)
{1: 'simple', 2: 'medium', 3: 'difficult'}
>>> d = dict(DIFFICULTIES)
>>> d[MEDIUM]
'medium'

简单地寻找一条不需要排序的东西。我想你可以

^{pr2}$

如果你想避免一个带有冒号的for循环,那就有点傻了。在

相关问题 更多 >