Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在dict列表中查找作为键值一部分的字符串?_Python 3.x_Django 2.1 - Fatal编程技术网

Python 3.x 如何在dict列表中查找作为键值一部分的字符串?

Python 3.x 如何在dict列表中查找作为键值一部分的字符串?,python-3.x,django-2.1,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' 我想在符号值中找到包含字符串的dict。

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

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

s = 'BTC'
我想在符号值中找到包含字符串的dict。 例如: 搜索市场符号时,应返回以下目录列表:

found = [
    {'symbol': 'BTC/AUD', 'baseId': 'bitcoin'},
    {'symbol': 'ETH/BTC', 'baseId': 'eth'},
]
如果您能提供任何帮助,我们将不胜感激。

您可以:

found=[]
对于市场中的m:
对于l,单位为m.值():
如果s在l中:
找到。追加(m)

found=[m代表市场中的m,m代表市场中的l。如果s代表市场中的l,则值为()
上面的代码应该返回一个包含您正在寻找的价值的市场列表。您还可以将其压缩为一行:

found = [market for market in markets if s in market['symbol']]

你们能解释为什么问题被否决吗?对不起,我不知道…我并没有否决。我比较了你们的解决方案和Zeecka的时间。在1800本字典的列表中,您的解决方案的时间为0.0004906654357910156,而Zeecka解决方案的时间为0.00151395979772949219,因此我将您的解决方案标记为接受答案。谢谢你们两位的帮助。
found = [market for market in markets if s in market['symbol']]