gpt4 book ai didi

python - 创建此列表的更多 Pythonic(或功能)方式?

转载 作者:太空狗 更新时间:2023-10-30 02:13:58 26 4
gpt4 key购买 nike

我正在返回一个列表列表,但下面的内容似乎比它应该的要复杂得多:

new_list = []
for key, value in group.items():
new_list.extend([['%s%s%s%s%s' % (
ncode, vendor, extra, value['suffix'], tariff),
value['latest_cost'], value['rrp'], value['rb']] for tariff in value['trf']])
return new_list

最佳答案

这不是特别复杂。您有两个“级别”,即您要扩展到一个级别的组中的项目。这样做并不是很复杂。

一种更功能的方法是将它们全部合并到一个嵌套列表表达式中,我认为这是可能的。但它肯定不会更具可读性,而且我个人认为这是非 pythonic 的(即,我不喜欢它)。

为了可读性,我个人也会将该列表表达式更改为 for 循环。

new_list = []
for key, value in group.items():
for tariff in value['trf']:
name = ''.join(ncode, vendor, extra, value['suffix'], tariff)
new_list.append(name, value['latest_cost'], value['rrp'], value['rb']])
return new_list

嗯,事实上,我会用它做一个发电机,因为我喜欢它们:

def tariffs(group):
for key, value in group.items():
for tariff in value['trf']:
name = ''.join(ncode, vendor, extra, value['suffix'], tariff)
yield [name, value['latest_cost'], value['rrp'], value['rb']]

您可能还想考虑用它制裁剪品。一旦您有了列表的列表或字典的字典,就值得考虑创建类。

关于python - 创建此列表的更多 Pythonic(或功能)方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4957030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com