我想找到从中获得的最大长度

print (( max(sum(literal_eval(sub)) for sub in row)))

这给了我最大,但是如何在python中获得最大和的长度呢?

我的输入是

[0.0],"[0.0, 0.0]","[1.0, 1.0,1.0]","[1.0, 1.0, 1.0, 1.0]","[0.0, 0.0, 0.0]","[0.0, 0.0]",[0.0]

[0.0],"[0.0, 0.0]","[0.0, 0.0, 0.0]","[1.0, 1.0, 1.0, 0.0]","[0.0, 0.0, 0.0]","[1.0, 1.0]",[1.0]

首先通过max在上面的示例中找到最大值,我得到(4)(2)现在,我想找到max sum的长度,在这种情况下为4

===============>>#1 票数:2

如果您想要列表的最大长度,则可以使用带有literal_eval的列表理解来获取列表的列表,然后使用带有sum max作为其键来获取具有最大sum的列表,然后使用len来获取长度:

>>> s=[0.0],"[0.0, 0.0]","[0.0, 0.0, 0.0]","[1.0, 1.0, 1.0, 1.0]","[0.0, 0.0, 0.0]","[0.0, 0.0]",[0.0]
>>> len(max([ast.literal_eval(i) if isinstance(i,str) else i for i in s],key=sum))
4

  ask by abd translate from so

未解决问题?本站智能推荐:

1回复

Python导入错误:无法导入名称“ literal_eval”

我在运行python程序时遇到以下错误。 我正在使用python 3.4并安装了Ferenda-0.1.7-py3.4,错误是: 感谢您的帮助。 谢谢。 当我尝试在命令提示符下运行时。 我看不到任何错误。 附图片
1回复

使用literal_eval将字符串转换为字典

该程序的整体思想是从文本文件中读取数据(使用“ for”循环从字典中将其保存为字符串),然后将该内容重新插入字典中。 之后,程序继续要求输入(名称和编号)并将其添加到字典中。 我已经使用“ ast.literal_eval”将字符串转换为字典,如下所示: 这引发了错误:
1回复

Python的literal_eval说字符串'a,b,c'格式错误

literal_eval文档指出: 安全地评估包含Python文字或容器显示的表达式节点或Unicode或Latin-1编码的字符串。 提供的字符串或节点只能由以下Python文字结构组成: 字符串 ,数字, 元组 ,列表,字典,布尔值和无。 我想解析一个表示元组的unico
3回复

如何在literal_eval之前用Python AST中的Dict替换OrderedDict?

我有一个包含Python代码的字符串,如果它只用OrderedDict实例替换为{} ,我可以用literal_eval作为Python进行评估。 我正在尝试使用ast.parse和ast.NodeTransformer进行替换,但是当我使用nodetype == 'Name' and n
1回复

过滤变量,以便其repr可以由literal_eval解析

我想过滤一个变量(即删除无效内容),以便ast.literal_eval可以解析其字符串表示ast.literal_eval 。 因此,基本上, filter_literal函数可为任何obj保证以下断言: 我想出了以下功能,但是我对是否有更好的方法感兴趣,或者是否做错了任何事情,我很
2回复

将嵌套列表的字符串安全转换为列表-eval()和literal_eval()

我需要从.cfg文件中读取一些字符串,这是.cfg格式: 我想将其安全地转换为列表列表,所以我使用: 结果为[[50, 60], [100, 200], [300]] ,类型为List 我知道eval()是不安全的,因为输入字符串可能会导致安全漏洞。 ast.lite
1回复

literal_eval返回格式错误的字符串(给定的字符串不带引号)

我尝试使用literal_eval转换包含两个列表的字符串,如下所示。 但是我得到了这个错误 是否因为“ ba”未转换为字符串? 我怎样才能解决这个问题?
1回复

将列表的熊猫列拆分为字符串存储到多行(literal_eval错误)

我有一个数据框,其中一列列表存储为字符串。 列表的大小各不相同。 我想将列表中的项目拆分为多行 使用literal_eval()函数进行了尝试: 但出现以下错误:
2回复

Pandas read_csv converter - 如何处理异常(literal_eval SyntaxError)

进入Pandas DataFrame,我正在读一个csv文件,看起来像: 其中两个单元格中包含文字元组,其中两个单元格为空。 转换器ast.literal_eval可以很好地将文字元组转换为代码中的Python元组对象 - 但只要没有空单元格。 因为我有空单元格,我得到错
1回复

可以滥用literal_eval(f'{}')从外部源执行代码吗?

我只是好奇,如果这是一个风险,我想不出用户可能会导致这种情况发生的方式......但它似乎令人担忧。 ast.literal_eval(f'{os.remove("dontdelete.txt")-hello-world}')将执行文件删除。 是否存在可以用于应用程序的风险? 是什么