繁体   English   中英

重复打印天数 Loop

[英]Printing number of days repeated Loop

我有点困惑我想检查一个值在几天列表中重复了多少次。 例如我有一本字典

dict = {
  "01" : 0,
  "02" : 0,
  "03" : 0,
  "04" : 0,
  "05" : 0,
  "06" : 0,
  "07" : 0,
}

我有一个values = ['02','01','02','03','07','05']

我想打印这样的结果:

{"Monday": 1,"Tuesday": 2,"Wednesday": 1, "Thursday": 0, "Friday": 1, "Saturday": 0 ,"Sunday": 1}

这是我正在测试的代码

for i in range(len(value_list)):
  for j in day:
      print(j)

for i in range(len(value_list)):
   print(day.key)
   # count = value_list.count(list(day)[i])
  if value_list[i] == (day):
    print("i: ", value_list[i])

我创建了一个called days_of_week的新字典,并以每天由数字引用的方式更改了dict的内容,因此当您遍历values列表并找到某一天时,它会增加特定日期的计数器

代码:

days_of_week = {"Monday": 0, "Tuesday": 0, "Wednesday": 0,
                "Thursday": 0, "Friday": 0, "Saturday": 0, "Sunday": 0}
values = ['02', '01', '02', '03', '07', '05']
dict = {"01": 'Monday', "02": 'Tuesday', "03": 'Wednesday', "04": 'Thursday', "05": 'Friday', "06": 'Saturday', "07": 'Sunday'}
for val in values:
    if val in dict:
        days_of_week[dict[val]]+=1
print(days_of_week)

Output:

{'Monday': 1, 'Tuesday': 2, 'Wednesday': 1, 'Thursday': 0, 'Friday': 1, 'Saturday': 0, 'Sunday': 1}

为了便于解释,您的问题归结为两部分:(1)计算值中的存在和(2)将“0{1,2,3,4,5,6,7}”重命名为 {Mon, Tue, .. .}

(1) 用字典计算值

for v in values:
    dict[v] += 1

(2) 创建一个值相同但重命名键的新字典

orig_keys = [f"{i:02d}" for i in range(1,8)]
new_keys = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
new_dict = {}
for ok, nk in zip(orig_keys, new_keys):
    v = dict[ok]
    new_dict[nk] = v
print(new_dict)

Output

{'Monday': 1, 'Tuesday': 2, 'Wednesday': 1, 'Thursday': 0, 'Friday': 1, 'Saturday': 0, 'Sunday': 1}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM