有没有一种方法可以遍历字典并在while循环中使用它?

时间:2020-10-22 07:35:10

标签: python-3.x dictionary for-loop while-loop

这是我的代码在python中的外观。在df = get_data_df(id,start_at)的那一行中,我希望我的程序可以遍历id并在下面的程序中使用它,而不是一一定义id。请帮助我如何遍历字典(id)并在while循环中使用它。

id= {'O': 6232,
'S': 5819,
'S': 5759,
'R': 6056,
'M': 6145,}

whole_df = pd.DataFrame()
start_at = int(datetime(2020,8,1,6,0,0,0, pytz.UTC).timestamp() * 1e6)
while True:
    df = get_data_df(id,start_at)    
    if df.shape[0] <= 1:
        break
    else:
        whole_df = whole_df.append(df)
        last_timestamp = whole_df.last_valid_index().timestamp()
        start_at = int(last_timestamp * 1e6)
#print(whole_df)

2 个答案:

答案 0 :(得分:0)

for key in id:
      print(key)

是您可以做到的一种方法。否则,您可以这样做

i = 0
while True:
    list(id)[i]
    i += 1

通过仅发送一个索引并从该索引的每个点获取一个值

答案 1 :(得分:0)

有多种使用for循环迭代python字典的方法:

for key in your_dict:
    value = your_dict[key]
    print(value)
for value in your_dict.values():
    print(value)
for key, value in your_dict.items():
    print(key, '=', value)

如果您确实想要一会儿循环:

keys = your_dict.keys()
i = 0
while i < len(keys):
    value = your_dict[keys[i]]
    print(key, '=', value)