Python字典,在一次迭代中提取两个值
我有一个包含两个“重复”值的字典,一个命名为内容,另一个命名为时间。 此dict是使用for循环创建的:Python字典,在一次迭代中提取两个值,python,loops,flask,Python,Loops,Flask,我有一个包含两个“重复”值的字典,一个命名为内容,另一个命名为时间。 此dict是使用for循环创建的: loopindex = 1 thisdict = {} for u in Comment.select(): stringloop = str(loopindex) if u.commentId == tempid: print('match') thisdict.update({"con
loopindex = 1
thisdict = {}
for u in Comment.select():
stringloop = str(loopindex)
if u.commentId == tempid:
print('match')
thisdict.update({"content" + stringloop: u.commentContent})
thisdict.update({"time" + stringloop: u.timestamp})
loopindex += 1
在for循环中使用print(键、值)时,执行此操作将得到以下输出:
我现在需要在一个循环中,在同一个循环迭代中提取一个内容值和一个时间值。
谢谢你的建议。我认为你走错了方向。 dict没有排序,因此您的输出根本不固定。如果有更多的数据输入,输出可能会到处都是 我建议以不同的方式创建dict 我会做一个元组列表,如下所示:
output = []
for u in Comment.select():
if u.commentId == tempid:
print('match')
output.append((u.commentContent,u.timestamp))
使用输出[i][0]
(内容)/输出[i][1]
(时间戳)访问它
或者,如果要使用dict而不是tuple:
output.append({"content":u.commentContent,"timestamp":u.timestamp})
使用
output[i][“content”]
/output[i][“timestamp”]
进行访问听起来像是XY问题。您最好使用dict列表,其中每个dict都有相同的键。与其在字典中创建两个项,不如创建一个本身就是嵌套字典的项。dict不排序的Python有多旧?我完全知道dict必须从3.7开始保持插入顺序。在开发人员提到之前,这是一个实现细节,但不应该依赖。既然我不知道他用的是哪一个版本,最好是安全的,而不是抱歉。
output.append({"content":u.commentContent,"timestamp":u.timestamp})