Python-将字典中的两个列表相减

标签 python list dictionary python-3.x

所以我必须从具有 14 个属性(列)的大型数据文件中获取信息。使用这些信息,我能够获取数据并将其组合成 float 列表。我必须对其进行分析,并需要对值(值 - 最小值)/(最大值 - 最小值)进行标准化。然后,我将原始值列表放入字典中,其中标准化值与它们仍然相关。

我现在需要获取该字典的 2 个不同键,它们对应于 2 个不同的标准化值列表,然后将它们相减以进行进一步分析。

我的字典信息示例:

    (3.0, 13.73, 4.36, 2.26, 22.5, 88.0, 1.28, 0.47, 0.52, 1.15, 6.62, 0.78, 1.75, 520.0): 
    [0.7105263157894738, 0.7154150197628459, 0.4812834224598929, 0.6134020618556701, 0.1956521739130435, 0.10344827586206898, 0.02742616033755273, 0.7358490566037735, 0.2334384858044164, 0.4556313993174061, 0.2439024390243903, 0.1758241758241758, 0.17261055634807418]

有超过 100 个类似条目

使用Python3,除了数学之外没有任何库 感谢您的帮助,但如果您认为有更简单的方法,请告诉我。

编辑:我无法使用任何导入的库

我将添加一些代码,但我必须剪掉其中的很大一部分,因为它太大了,无法包含在这篇文章中。

     for line in temp_file: 
        line = line.strip()                                         #remove white space
        line_list = line.split(",")                                 #split the list into components seperated by commas
        temp_list2 = []
        for item in line_list[0:]:                                 
              value_float = float(item)                             #make values currently of type string into type float
              temp_list2.append(value_float)
        tuple_list = tuple(temp_list2)                              #make each item into a seperate tuple and then list
        data_list.append(tuple_list)                                #these tuples in a master list data_list
  prop_elts = [(x[1:]) for x in data_list]

------snip--------(这就是我定义每一列然后计算标准化值的地方)

   i =  0
  while i < len(data_list):
      all_props_templist = [prop1_list[i],prop2_list[i],prop3_list[i],prop4_list[i],prop5_list[i],prop6_list[i],prop7_list[i],prop8_list[i],prop9_list[i],prop10_list[i],prop11_list[i],prop12_list[i],prop13_list[i]] 
      all_properties.append(all_props_templist)  
      i = i + 1  
  my_data_Dictionary = {el1: el2 for el1, el2 in zip(data_list,all_properties )}

最佳答案

如果data是你的字典,

[a-b for a, b in zip(data[key1], data[key2])]

是一个列表,其元素是data[key1]data[key2]中对应元素之间的差异。


PS。当您看到编号的变量名称时:

  all_props_templist = [prop1_list[i],prop2_list[i],prop3_list[i],prop4_list[i],prop5_list[i],prop6_list[i],prop7_list[i],prop8_list[i],prop9_list[i],prop10_list[i],prop11_list[i],prop12_list[i],prop13_list[i]] 

知道现在的情况迫切需要一个用索引代替数字的列表:

all_props_templist = [prop_list[j][i] for j in range(13)]

关于Python-将字典中的两个列表相减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13073442/

相关文章:

python - 我应该将 Python 代码放入 SSD 而不是硬盘中吗?

python - ZODB:transaction.savepoint 向哪里写入数据?

python - Puzzle 返回不支持的 TypeError

c# - 为什么字典没有实现 Add(KeyValuePair)

python - celery 中直接调用任务组与通过 apply_async 调用任务组的区别

python - 如何在循环外打印项目?

python - 将字符串转换为列表的正则表达式(Python)

python - 在 Numba @jitclass 中使用列表

带有列表初始化的 C++11 嵌套映射

dictionary - Terraform 多层 map