迭代列表并将该值用作字典键

2024-05-29 11:56:43 发布

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

我的字典看起来像这样。你知道吗

allCurrencies = {
    'AUD': ['Australian Dollar', 'au'],
    'GBP': ['British Pound', 'gb'],
    'CAD': ['Canadian Dollar', 'ca'],
    'INR': ['Indian Rupee', 'in'],
    'JPY': ['Japanese Yen', 'jp'],
    'RUB': ['Russian Ruble', 'ru'],
    'SGD': ['Singapore Dollar', 'sg'],
    'CHF': ['Swiss Franc', 'ch'],
    'USD': ['US Dollar', 'us']
}

我的数组包含:

commonCurrencies = ['USD', 'EUR', 'GBP', 'JPY']

我的主要目标是迭代commoncurrences并将其用作字典allcurrences的键。你知道吗

我的django模板当前如下所示:

<tr>
    {% for sym in commonCurrencies %}
        <td>{{allCurrencies.sym.0}}<td>
    {% endfor %}
</tr>

但它似乎不起作用。我做错了什么。谢谢


Tags: in字典trtdauusdgbpdollar
1条回答
网友
1楼 · 发布于 2024-05-29 11:56:43

好吧,这里没有内置的过滤器和标签,允许你从字典中动态获取条目。最好在视图中筛选值,并将其传递给模板。Otherwise, you need to make custom template tag to get value dictionary value dynamically.

>>> allCurrencies = {
...     'AUD': ['Australian Dollar', 'au'],
...     'GBP': ['British Pound', 'gb'],
...     'CAD': ['Canadian Dollar', 'ca'],
...     'INR': ['Indian Rupee', 'in'],
...     'JPY': ['Japanese Yen', 'jp'],
...     'RUB': ['Russian Ruble', 'ru'],
...     'SGD': ['Singapore Dollar', 'sg'],
...     'CHF': ['Swiss Franc', 'ch'],
...     'USD': ['US Dollar', 'us']
... }
>>>
>>> commonCurrencies = ['USD', 'EUR', 'GBP', 'JPY']
>>>
>>> currencies = {cur: allCurrencies[cur] for cur in commonCurrencies
                  if cur in allCurrencies}
>>>
>>> currencies
{'JPY': ['Japanese Yen', 'jp'],
 'USD': ['US Dollar', 'us'],
 'GBP': ['British Pound', 'gb']}

顺便说一句,allCurrencies字典中没有EUR条目。你知道吗

相关问题 更多 >

    热门问题