【问题标题】:Printing number of days repeated Loop重复打印天数 Loop
【发布时间】:2022-01-19 08:51:08
【问题描述】:

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

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])

【问题讨论】:

  • 请确保您的代码实际运行(代码应该是所谓的 mwe) - 目前它没有,因为例如 day 未分配等。然后,另外,提供 mwe你的预期输出。
  • 添加到@DirkHerrmann 的评论:What is a minimal reproducible example?

标签: python python-3.x list


【解决方案1】:

我创建了一个新字典 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)

输出:

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

【讨论】:

    【解决方案2】:

    为了便于解释,您的问题归结为 2 个部分:(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)
    

    输出

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

    【讨论】:

      猜你喜欢
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-27
      • 2019-03-11
      • 1970-01-01
      • 2015-11-17
      • 2012-05-28
      相关资源
      最近更新 更多