我有以下格言:
[
{"new": "item"},
{"from": "here"}
]
例如,有没有一种方法可以添加到该项目的索引位置,所以它最终会变成:
[
{"idx": 0, "new": "item"},
{"idx": 1, "from": "here"}
]
注意:我还想确保idx
的位置在开头(python3支持dict排序)。
答案 0 :(得分:3)
您可以将list comprehension与enumerate一起使用:
data = [
{"new": "item"},
{"from": "here"}
]
result = [{ **e, "idx" : i } for i, e in enumerate(data)]
print(result)
输出
[{'idx': 0, 'new': 'item'}, {'from': 'here', 'idx': 1}]
答案 1 :(得分:2)
oneliner重新创建字典-这非常浪费-分配和创建新字典需要大量时间/内存等。最好简单地迭代字典列表并添加索引键值对:
public boolean soldBook(){
return customer.checksold(book);
}
public String review(){
if (!customer.checksold(book)){
return "IncorrectReview";
}
if(reviewtext.equals("") || reviewtext==null){
return "";
}
customer.review(customer, book, reviewtext);
return "CorrectReview";
}
输出:
k = [ {"new": "item"}, {"from": "here"}]
for i,d in enumerate(k):
d["idx"] = i
print(k)