gpt4 book ai didi

Python 根据另一个列表中的名称在一个列表中添加值

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:44 24 4
gpt4 key购买 nike

所以,我有 2 个列表veg_type = [Urban,Urban,Forest,OpenForest,Arboretum]veg_density = [0.5,0.6,0.1,0,0.9]我想把veg_type对应的veg_density加起来。所以这意味着 Urban = 1.1(这是 0.5+0.6)森林 = 0.1OpenForest = 0植物园 = 0.9veg_density 和 veg_type 的索引具有相同的值。也就是说 Urban 出现在位置 0,它对应的 veg_density 也在位置 0。此外,我不能假设 veg_type 中的元素仅限于上述示例。我该如何解决这个问题?

最佳答案

使用字典(键值映射)可以解决您的问题:

veg_type = ["Urban", "Urban", "Forest", "OpenForest", "Arboretum"]
veg_density = [0.5, 0.6, 0.1, 0, 0.9]

type_density = {} #Creates a new dictionary

if len(veg_type) == len(veg_density): #pointed out by @lalengua -- veg_type and veg_density need to have the same length
for i in range(len(veg_type)):
if veg_type[i] not in type_density: #If the veg_type isn't in the dictionary, add it
type_density[veg_type[i]] = 0

type_density[veg_type[i]] += veg_density[i]

这会产生:

{'Urban': 1.1, 'Forest': 0.1, 'OpenForest': 0, 'Arboretum': 0.9}

像这样访问它的值:

type_density['Urban'] = #some value
some_variable = type_density['Forest'] #double quotes can be used as well

关于字典的一些事情:

  • 字典有,它们对应于某些值

  • 键在字典中是唯一的——重新定义键会覆盖它的值

  • 键可以是字符串、数字或对象——任何可以散列的东西

  • 键需要在字典中才能对其应用操作

  • 要预定义字典(而不是让它为空),请使用以下内容:name = {key1 : value1, key2 : value2, key3 : value3, keyN : valueN}

您可以阅读更多关于 dictionary 对象的信息 at the offical python docs .

关于Python 根据另一个列表中的名称在一个列表中添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52712062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com