Python 如何向列表中添加值?

Python 如何向列表中添加值?,python,list,dictionary,indexing,max,Python,List,Dictionary,Indexing,Max,我有以下清单 导入日期时间 my_list = [ ['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0),'0,012'], ['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0),'0,153'], ['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,114'], [

我有以下清单

导入日期时间

my_list = [
    ['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0),'0,012'], 
    ['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0),'0,153'], 
    ['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,114'],
    ['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,109'],
    ['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,252'],
    ['Spain', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,012'], 
    ['Spain', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,113'], 
    ['Spain', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,116'],
    ['Spain', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,250'],
    ['Spain', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,266']]
用下面的代码,我获得了每个国家的最高价值。然而,这是正确的。我还想将国家/地区添加到
max\u price\u per\u列表中

max_prices_by_country = {}
for item in my_list:
    price = max_prices_by_country.setdefault(item[0], 0)
    max_prices_by_country[item[0]] = max(price, float(item[-1].replace(',', '.')))
    country = item[0]

max_price_per_list = [[country] + [str(price).replace('.', ',') for price in max_prices_by_country.values()]]

print(max_price_per_list)
这是我当前的输出:

[['Spain', '0,252', '0,266']]
[[Morocco, '0,252'], 
['Spain', '0,266']]
这是我的首选输出:

[['Spain', '0,252', '0,266']]
[[Morocco, '0,252'], 
['Spain', '0,266']]

也许你可以这样做

导入日期时间
我的清单=[
[摩洛哥','鱼',datetime.datetime(2020,11,17,0,0),'0012'],
[摩洛哥','鱼',datetime.datetime(2020,11,17,0,0),'0153'],
[“摩洛哥”,“鱼”,datetime.datetime(2020,11,17,0,0),“0114”],
[“摩洛哥”,“鱼”,datetime.datetime(2020,11,17,0,0),“0109”],
[摩洛哥','鱼',datetime.datetime(2020,11,17,0,0),'0252'],
['Spain','Fish',datetime.datetime(2020,11,17,0,0),'0012'],
['Spain','Fish',datetime.datetime(2020,11,17,0,0),'0113'],
[Spain',Fish',datetime.datetime(2020,11,17,0,0),'0116'],
西班牙、鱼、日期时间、日期时间(2020、11、17、0、0),‘0250’,
['Spain','Fish',datetime.datetime(2020,11,17,0,0),'0266']
按国家/地区列出的最高价格={}
对于my_列表中的项目:
国家=项目[0]
#如果国家/地区不在dict中,则添加一个值0
如果国家/地区不在最高价格中,则按国家/地区:
按国家/地区划分的最高价格=0
#获取现有值和传入值的最大值(即项[0])
按国家[国家]列出的最高价格=按国家[国家]列出的最高价格,浮动(项目[-1]。替换(',','))
#将dict转换为数组列表。
每个清单的最高价格=[[k,str(按国家/地区[k])。将最高价格中的k替换为按国家/地区[k])
打印(每个列表的最高价格)

也许你可以这样做

导入日期时间
我的清单=[
[摩洛哥','鱼',datetime.datetime(2020,11,17,0,0),'0012'],
[摩洛哥','鱼',datetime.datetime(2020,11,17,0,0),'0153'],
[“摩洛哥”,“鱼”,datetime.datetime(2020,11,17,0,0),“0114”],
[“摩洛哥”,“鱼”,datetime.datetime(2020,11,17,0,0),“0109”],
[摩洛哥','鱼',datetime.datetime(2020,11,17,0,0),'0252'],
['Spain','Fish',datetime.datetime(2020,11,17,0,0),'0012'],
['Spain','Fish',datetime.datetime(2020,11,17,0,0),'0113'],
[Spain',Fish',datetime.datetime(2020,11,17,0,0),'0116'],
西班牙、鱼、日期时间、日期时间(2020、11、17、0、0),‘0250’,
['Spain','Fish',datetime.datetime(2020,11,17,0,0),'0266']
按国家/地区列出的最高价格={}
对于my_列表中的项目:
国家=项目[0]
#如果国家/地区不在dict中,则添加一个值0
如果国家/地区不在最高价格中,则按国家/地区:
按国家/地区划分的最高价格=0
#获取现有值和传入值的最大值(即项[0])
按国家[国家]列出的最高价格=按国家[国家]列出的最高价格,浮动(项目[-1]。替换(',','))
#将dict转换为数组列表。
每个清单的最高价格=[[k,str(按国家/地区[k])。将最高价格中的k替换为按国家/地区[k])
打印(每个列表的最高价格)

对于程序的最后一部分,您似乎试图将词汇表平铺成一个列表

你可以做一些不需要这么长时间的事情,比如:

max\u price\u per\u list=list(max\u price\u by\u country.items())

对于程序的最后一部分,您似乎试图将词汇表平铺成一个列表

你可以做一些不需要这么长时间的事情,比如:

max\u price\u per\u list=list(max\u price\u by\u country.items())

你到底做了什么?这是一艘非常强大的单程客轮。谢谢。@TangerCity dict.items()返回字典项的新视图(
(键,值)
对)。(有文档记录)如果您要对其进行迭代,则无需将其转换为列表。但我认为它可能会有所帮助,因为您正在打印它,并且可能只想访问一个项目。啊,谢谢:)您到底做了什么?这是一艘非常强大的单程客轮。谢谢。@TangerCity dict.items()返回字典项的新视图(
(键,值)
对)。(有文档记录)如果您要对其进行迭代,则无需将其转换为列表。但我认为它可能会有所帮助,因为您正在打印它,并且可能只想访问一个项目。啊,谢谢:)谢谢。你到底做了什么?给我的回答加上一些评论谢谢。你到底做了什么?给我的答案加上一些评论