[英]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.