我创建了一个函数buildDictionary(text),最终返回一个像@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("poi");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Comments current = new Comments();
current.image = "drawable://" + R.drawable.juandirection_placeholder;
current.title = jsonObject.getString("title");
current.comment = jsonObject.getString("comment");
current.date = jsonObject.getString("date");
current.rating = Integer.parseInt(jsonObject.getString("rating"));
commentsData.add(current);
}
// **you may call function and pass the list value to update your ui component. you will get the real size of list here.**
} catch (JSONException e) {
e.printStackTrace();
}
}
这样的字典。
我想创建另一个函数,它将打印字典中的每个键及其相关值。例如,程序应该打印:
{A:1, B:2, C:3}
我试过了:
A : 1
B : 2
C : 3
但该程序不打印任何内容。我做错了什么?
答案 0 :(得分:1)
字典迭代键,所以行
for key, value in dictionary:
没有达到你的预期。
相反,要使用键和值,您需要使用
迭代整个项目for key, value in dictionary.items():
注意:如果字典的键是字符串,元组或任何其他具有两个元素的可哈希迭代,原始代码不会抛出错误,因为它将第一个元素分配给key
和第二个元素到value
e.g。
>>> d={'ab':1, 'de':2}
>>> for key, value in d:
... print(key, value)
...
d e
a b