如何在字典列表中找到字符串作为键值的一部分?

时间:2019-08-09 06:58:31

标签: python-3.x django-2.1

在词典列表中,我想找到包含键值的字符串。

markets = [
    {'symbol': 'BTC/AUD', 'baseId': 'bitcoin'},
    {'symbol': 'USD/AUD', 'baseId': 'dollar'},
    {'symbol': 'EUR/AUD', 'baseId': 'euro'},
    {'symbol': 'ETH/BTC', 'baseId': 'eth'},
]

s = 'BTC'

我想在符号值中找到包含字符串的字典。 例如: 在市场符号中搜索s应该返回以下字典列表:

found = [
    {'symbol': 'BTC/AUD', 'baseId': 'bitcoin'},
    {'symbol': 'ETH/BTC', 'baseId': 'eth'},
]

我们将不胜感激。

2 个答案:

答案 0 :(得分:1)

08-09 11:13:06.023 20025-20025/com.ardakaplan.application I/Application: IN CLASS : (ENApplication.java:29)   ///   IN METHOD : onCreate
    info

上面的代码应返回包含您要寻找的价值的市场列表。您也可以将其浓缩为一个衬里:

found = []
for market in markets:
    if s in market['symbol']:
        found.append(market)
return found

答案 1 :(得分:0)

您可以执行以下任一操作:

found = []
for m in markets:
    for l in m.values():
        if s in l:
            found.append(m)

found = [m for m in markets for l in m.values() if s in l]