我有以下代码片段:
for i in range(len(unique_example)):
for j in range(len(unique_example[i])):
print(name_of_attributes[i])
print(unique_example[i][j])
for k in range(len(goal_predicate_list)):
print(goal_predicate_list[k])
frequency = len([x for x in examples if x['Predicate'] == goal_predicate_list[k] and
x[name_of_attributes[i]] == unique_example[i][j]])
print(frequency)
给定代码中的print语句打印如下:
Sepal_Length
4.9
Iris-setosa
4
Iris-virginica
1
Iris-versicolor
1
Sepal_Length
6.3
Iris-setosa
0
Iris-virginica
6
Iris-versicolor
3
Sepal_Length
7.6
Iris-setosa
0
Iris-virginica
1
Iris-versicolor
0
如何创建一个字典,将字典中的数据存储为:
attribute_frequency_dict = {"Sepal_length": 4.9, "Iris-setosa": 4, "Iris-virginica": 1, "Iris-versicolor": 1}
然后以相同的方式将所有其他数据存储在以下列表中:
attribute_frequency_list = [ { }, { },...{ } ]
答案 0 :(得分:1)
您不必使用范围和 len 来迭代序列。
for i, u in enumerate(unique_example):
for j in range(len(u)):
# stores as { "attribute": value, "predicate_value[0]": occurrence, "predicate_value[1]": occurrence}
attribute_frequency_dict = {name_of_attributes[i]: u[j]}
for p in goal_predicate_list:
frequency = len([x for x in examples if x['Predicate'] == p and x[name_of_attributes[i]] == u[j]])
attribute_frequency_dict[p] = frequency
attribute_frequency_list.append(attribute_frequency_dict)
答案 1 :(得分:0)
以下对代码段的更改有效。
{
"current": 1,
"rowCount": 10,
"total": 123
"rows": [
{
"id": 19,
"sender": "123@test.de",
"received":"received1"
},
{
"id": 20,
"sender": "123@testasdasd.de",
"received":"receisaddved1"
}
]
}
创建一个字典并为每个循环中的字符添加值。