根据键添加python词典中的条目

时间:2016-06-30 02:05:09

标签: python dictionary

如果我有一个Python字典,如

for(int y = 0; y < dt.Rows.Count;y++)
        {
            model = dt.Rows[y]["ItemModel"].ToString();

            Utility a = new Utility();
            string com = a.connectPO();
            SqlConnection con = new SqlConnection(com);
            SqlCommand read = con.CreateCommand();
            SqlDataReader reader = null;

            string mod = "SELECT Quantity from vConsumables_Balance where Model ='" + model + "' AND Company = 'YLPI'";

            try
            {
                con.Open();
                read.CommandText = mod;
                reader = read.ExecuteReader();
            }
            catch(System.Exception)
            {
                Console.WriteLine("Error");
            }

            while(reader.Read())
            {
                quan = reader.GetInt32(0).ToString();
            }

            dt.Rows[y]["lblAMS"] = quan;

        }

如何通过以下方式迭代它以产生基于键的计数:

如果我的密钥最小,即1,则返回4 / sum(值)[我知道如何计算]。

如果我的键不是最小的,那么返回sum(对应于前一个键的值)/ sum(values);所以例如,对于键2,我们将返回4 + 9/1055。

感谢您的任何见解!

1 个答案:

答案 0 :(得分:0)

试试这个:

count_to_key = {
  k: sum(vi for ki, vi in my_dict.items()
              if ki <= k) / sum(my_dict.values())
                for k in my_dict.keys()}