gpt4 book ai didi

python - 进一步简化和缩短一个简单的分组算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:27:41 25 4
gpt4 key购买 nike

这是输入列表

input_list = ['string','string','1','string','2','string','string','3','string','5']

这是需要的输出

    [['string', 'string', '1'], ['string', '2'], ['string', 'string', '3'], 
['string', '5']]

基本上,您将列表数据 string(numeric data) 分组到列表列表中,每个列表包含遇到的第一个数字数据和之前的字符串数据

可以实现这个的简单算法

output_list = []
inner_list = []
for data in input_list:
inner_list.append(data)
if data.isdigit():
output_list.append(inner_list)
inner_list = []

print output_list

我想知道这是否可以变得更简单(以更少的行数完成)?

最佳答案

一个带有reduce 的衬垫。 请勿使用

reduce(lambda n, e: n[:-1]+[n[-1]+[e]] + ([[]] if e.isdigit() else []), input_list, [[]])[:-1]

关于python - 进一步简化和缩短一个简单的分组算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31760137/

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