python - python - 如何从python编程中的列表列表中提取一个特定物种的值?
问题描述
我有一个 Python 数据中的列表列表。所有值都对应于数据中的每个物种。我想提取特定物种的价值。每个对应的值都在每个列表中。假设我有三种铜、银、金和铂。在三个不同的温度下,它们的频率如下:
Frequency = [[{1}, {2}, {3}, {4}], [{1},{22}, {44}, {54}], [{23}, {43}, {52}]
请记住,每个列表的第三个值是“Au”,即 3、44、43。所以,我需要像这样的答案[3,44,43]
。
解决方案
我冒昧地使用了defaultdict,所以我们可以按元素名称索引我们的结果。
由于我们从一个集合(例如{1}
)中提取您的结果,我们可以使用iter
它返回一个迭代器,然后调用next
以提取第一个值。
from collections import defaultdict
frequencies = [[{1}, {2}, {3}, {4}], [{1}, {22}, {44}, {54}], [{23}, {99}, {43}, {52}]]
res = defaultdict(list)
for i, element in enumerate(['Cu','Ag','Au','Pt']):
for j in range(len(frequencies)):
res[element].append(next(iter(frequencies[j][i])))
for element in res:
print(f'{element} temperatures was {res[element]}')
输出:
Cu temperatures was [1, 1, 23]
Ag temperatures was [2, 22, 99]
Au temperatures was [3, 44, 43]
Pt temperatures was [4, 54, 52]
推荐阅读
- json - MongoDB中的高级搜索文本框
- c# - 突出显示 WPF Datagrid 中的选定项
- r - 如何在 Rcpp 中为 SEXP 参数设置默认值
- javascript - 在 javascript 和 html 中转义撇号(单引号)字符
- python - 为什么保存的模型在加载到 Keras 后以初始损失和准确率值开始?
- python - 为什么我尝试使用 xlrd 打开 Excel 工作簿时出现 KeyError
- ios - ARKit(或 ARSession)可以在后台继续运行吗?
- php - 仅使用 PHP 动态限制每个请求的连接数
- regex - How to duplicate regex search result within one line?
- xamarin.forms - 如果第一页不是导航页,则在 Xamarin.Forms 中获取工具栏