“嘗試為一些具有重復鍵的資料和一個具有重復值的資料創建一個動態字典,找出重復的值是什么以及作為用戶最終列印的重復次數”
我輸入了以下代碼作為示例:
from itertools import chain
# initialising dictionary
ini_dict = {"Name": 'John', "Age": 43, "Name": 'Mark',"Age": 43,"Occupation": "Plumber" }
init_dict2 = {"Name": 'John', "Age": 43, "Name": 'Mark',"Age": 43,"Occupation": "Plumber", "Occupation": "Teacher", "Age": 35}
# printing initial_dictionary
print("initial_dictionary", str(ini_dict))
print("initial_dictionary", str(init_dict2))
rev_dict = {}
for key, value in ini_dict.items():
rev_dict.setdefault(value, set()).add(key)
result = set(chain.from_iterable(
values for key, values in rev_dict.items()
if len(values) > 1))
rev2_dict = {}
for key, value in ini_dict.items():
rev2_dict.setdefault(value, set()).add(key)
result = set(chain.from_iterable(
values for key, values in rev2_dict.items()
if len(values) > 1))
# printing result
print("resultant key", str(result))
print("resultant key", str(result))
這是輸出:
"C:\Python lectures\TestovProekt\venv\Scripts\python.exe" "C:/Python lectures/TestovProekt/Homework 6.1.py"
initial_dictionary {'Name': 'Mark', 'Age': 43, 'Occupation': 'Plumber'}
initial_dictionary {'Name': 'Mark', 'Age': 35, 'Occupation': 'Teacher'}
resultant key set()
resultant key set()
我需要關于輸入什么確切代碼的幫助,以便最終列印結果是重復的值和次數,因為我對這一切都很陌生,所以我不知道我到底需要輸入我遺漏的內容。
uj5u.com熱心網友回復:
字典不能有重復的鍵。第二個賦值覆寫了第一個賦值。這就是為什么你得到:
{"Name": 'John', "Age": 43, "Name": 'Mark'} == {'Name': 'Mark', 'Age': 43}
>>> True
因為作業問題對我來說沒有多大意義
更新(見評論)
這是一種計算字典重復值(在本例中為價格)的方法。
fruit_prices = {"apple": 5, "banana": 5, "cherry": 1, "durian": 25}
fruits_per_price = {}
# iterate over all fruit, price combinations
for fruit, price in fruit_prices.items():
if price in fruits_per_price:
# if you already have a list of fruits for that price, append the fruit
fruits_per_price[price].append(fruit)
else:
# if not, create a new fruit list
fruits_per_price[price] = [fruit]
# the count for each value is now equal to the length of the fruit list
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/350548.html
上一篇:刮取后如何將值存盤在一起
