按类型对python列表中的元素进行分组
我有一个异构列表,我想按类型对其元素进行分组 比方说,我有:按类型对python列表中的元素进行分组,python,list,Python,List,我有一个异构列表,我想按类型对其元素进行分组 比方说,我有: l = [[], 1, 2, 'a', 3, 'b', [5, 6]] 我想: l = [[[], [5, 6]], [1, 2, 3], ['a', 'b']] 如果顺序不重要的话 python ic是如何做到这一点的 我不想要循环中的循环,循环中的循环 谢谢 使用: 输出 作为替代方案,您可以使用: 使用: 输出 作为替代方案,您可以使用: 您可以使用内置函数执行以下操作,该函数提供列表或字典作为返回值的选项: l = [[]
l = [[], 1, 2, 'a', 3, 'b', [5, 6]]
我想:
l = [[[], [5, 6]], [1, 2, 3], ['a', 'b']]
如果顺序不重要的话
python ic是如何做到这一点的
我不想要循环中的循环,循环中的循环
谢谢 使用:
输出
作为替代方案,您可以使用:
使用:
输出
作为替代方案,您可以使用:
您可以使用内置函数执行以下操作,该函数提供列表或字典作为返回值的选项:
l = [[], 1, 2, 'a', 3, 'b', [5, 6]]
rv = dict()
for thing in l:
if type(thing) in rv:
rv[type(thing)].append(thing)
else:
rv[type(thing)] = [thing]
print([x for x in rv.values()])
输出:
或:
您可以使用内置函数执行以下操作,该函数提供列表或字典作为返回值的选项:
l = [[], 1, 2, 'a', 3, 'b', [5, 6]]
rv = dict()
for thing in l:
if type(thing) in rv:
rv[type(thing)].append(thing)
else:
rv[type(thing)] = [thing]
print([x for x in rv.values()])
输出:
或:
请显示您的非Python尝试请显示您的非Python尝试
accumulation = {}
for e in l:
accumulation.setdefault(type(e), []).append(e)
l = [[], 1, 2, 'a', 3, 'b', [5, 6]]
rv = dict()
for thing in l:
if type(thing) in rv:
rv[type(thing)].append(thing)
else:
rv[type(thing)] = [thing]
print([x for x in rv.values()])
[[[], [5, 6]], [1, 2, 3], ['a', 'b']]
>>> rv
{list: [[], [5, 6]], int: [1, 2, 3], str: ['a', 'b']}