我正在这样做,但它觉得这可以用更少的代码来实现。毕竟是Python。从一个列表开始,我根据字符串前缀将该列表拆分为子集
# Splitting a list into subsets
# expected outcome:
# [['sub_0_a', 'sub_0_b'], ['sub_1_a', 'sub_1_b']]
mylist = ['sub_0_a', 'sub_0_b', 'sub_1_a', 'sub_1_b']
def func(l, newlist=[], index=0):
newlist.append([i for i in l if i.startswith('sub_%s' % index)])
# create a new list without the items in newlist
l = [i for i in l if i not in newlist[index]]
if len(l):
index += 1
func(l, newlist, index)
func(mylist)
使用} :
itertools
'^{您可以使用^{} :
或者完全按照您指定的方式:
当然,常见的注意事项也适用(请确保您的列表使用与分组时使用的键相同的键进行排序),并且对于真实数据,您可能需要一个稍微复杂一些的键函数
相关问题 更多 >
编程相关推荐