Python 默认Dict/按最小值排序

Python 默认Dict/按最小值排序,python,dictionary,defaultdict,Python,Dictionary,Defaultdict,并提前感谢您的帮助。到目前为止,我有以下代码: with open("clean_result.csv", "r", encoding="utf-8", errors="ignore") as new_data: reader = csv.reader(new_data, delimiter=',', quotechar='"') for row in reader: if row: columns = [row[0], row[1]] init_dic

并提前感谢您的帮助。到目前为止,我有以下代码:

with open("clean_result.csv", "r", encoding="utf-8", errors="ignore") as 
new_data:
reader = csv.reader(new_data, delimiter=',', quotechar='"')
for row in reader:
    if row:
        columns = [row[0], row[1]]
        init_dict.append(columns)

for ean, price in init_dict:
    result[ean].append(price)
然后我用这行代码得到每个价格的最小值:

maxitems = {ean : min(result[ean]) for ean in result}
当前输出:{'8714789828558':'5,51','332610000182':'15,00','3286010016683':'3,93'(…)}


我想添加第[2]行并获取附加信息,但仅限于最低价格值

所需输出:{'8714789828558':'5,51','A','332610000182':'15,00','B''3286010016683':'3,93','C'(…)}

我试过这个:

for row in reader:
    if row:
        columns = [row[0], row[1], row[2]]
        init_dict.append(columns)

for ean, price, desc in init_dict:
       result[ean].append(price)
       result[ean].append(desc)

maxitems = {ean : min(result[ean]) for ean in result}
但产出是这样的。一半数据丢失:

{'8714789828558':'A','33261000182':'B''3286010016683':'C'(…)}


我可能误解了某些内容,请提供任何帮助,谢谢你khachik,我刚刚尝试了你的解决方案,我得到了以下输出:minitems={ean:min(prices,key=itemgetter(0)),用于ean,prices in result}ValueError:太多值无法解包(预期为2)我终于成功地使用了这一行:minitems={ean:min(result[ean],key=itemgetter(1)),用于结果}中的ean!谢谢你让我在赛道上@绿色种子假定代码
结果
为默认dict。还修复了值错误。
from operator import itemgetter
from collections import defaultdict

result = defaultdict(list)

for row in reader:
    if row:
        result[row[0]].append((row[1], row[2]))

minitems = {ean : min(prices, key = itemgetter(0)) for ean, prices in result.iteritems()}