如果我有一个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。
感谢您的任何见解!
答案 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()}