python 类的执行中保部存值_python – 对dict中的所有“key”:“value”对执行操作,并将结果存储在新的dict对象中...

您可以使用字典理解来实现此目的.在你的词典理解中,你需要调用你的列表理解来完善原始my_dict词典中作为值的每个列表的数字乘积.它可以实现为:

my_dict = {1: [11.1, 13, 15.0], 2: [6.9, 8.5, 10.17], 3: [3.86, 4.83, 6.07], 4: [3.86, 4.83, 6.07], 5: [2.31, 2.58, 3.02]}

d1_inv = [0.0248, 0.0296, 0.0357]

new_dict = {k: [round(i*j,4) for i, j in zip(v,d1_inv)] for k, v in my_dict.items()}

其中new_dict将是一个字典,其中包含初始my_dict中的每个键,其对应的值为:

{1: [0.2753, 0.3848, 0.5355], 2: [0.1711, 0.2516, 0.3631], 3: [0.0957, 0.143, 0.2167], 4: [0.0957, 0.143, 0.2167], 5: [0.0573, 0.0764, 0.1078]}

说明:此解决方案包括:

>外部词典理解表达,和

>内部列表理解表达式.

这里,外部字典理解:

{k: [...*list comprehension*...] for k, v in my_dict.items()}

将遍历字典,拉出my_dict.items()返回的元组(“key”,“value”)对.这里我使用k作为新词典的键,其中值v将用于内部列表理解表达式:

[round(i*j,4) for i, j in zip(v,d1_inv)]

这里,zip(v,d1_inv)将返回对应于d1_inv和v中相同位置的对象的元组(来自外部字典理解),然后我们在元组中存在的元素的乘积上调用round()函数(i,j) )由zip()的迭代返回.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您的字典的某些键值对的值是形如`[{key: value}]`的列表,您可以使用循环和字典操作处理。 以下是一个示例代码,演示了如何处理这种情况: ```python # 示例字典 data = { "name": "John", "age": 30, "skills": [ {"language": "Python", "level": "Intermediate"}, {"language": "Java", "level": "Advanced"}, {"language": "C++", "level": "Beginner"} ], "address": { "street": "123 Main St", "city": "New York" } } # 处理字典值为[{key: value}]的情况 def process_dict(dictionary): for key, value in dictionary.items(): if isinstance(value, list): for item in value: if isinstance(item, dict): process_dict(item) elif isinstance(value, dict): process_dict(value) elif isinstance(value, str): # 处理值为形如 [{key: value}] 的情况 if value.startswith("[{") and value.endswith("}]"): # 去除外层的方括号 value = value[1:-1] # 将字符串转换为字典 sub_dict = eval(value) # 更原始字典的值 dictionary[key] = sub_dict # 处理字典 process_dict(data) # 打印处理后的结果 print(data) ``` 在上面的代码,我们定义了一个名为`process_dict`的递归函数,用于处理字典值为`[{key: value}]`的情况。函数遍历字典的每个键值对,检查值的型。如果值是一个列表,那么我们再次循环遍历列表的每个元素。如果元素是一个字典,我们递归调用`process_dict`函数以处理嵌套字典。如果值是一个字符串,并且符合`[{key: value}]`的格式,我们去除外层的方括号,并使用`eval()`函数将字符串转换为字典。最后,我们更原始字典相应键的值。 在示例,我们定义了一个包含嵌套字典和列表的示例字典`data`。我们调用`process_dict(data)`来处理字典值为`[{key: value}]`的情况,并打印出处理后的结果。 请注意,使用`eval()`函数可能存在安全风险,因为它会执行任意的代码。在使用`eval()`函数时,请确保您能够信任字符串的内容,并且确保它们符合预期的格式。 另外,如果您使用的是似JSON格式的字符串,您也可以使用`json.loads()`函数将其转换为Python对象,并使用相应的方法来处理。这种方法更安全可靠,建议使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值