python 怎么快速获取嵌套列表内的每一个元素?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 怎么快速获取嵌套列表内的每一个元素?相关的知识,希望对你有一定的参考价值。

aa = [[(55736,)], [(55739,)], [(55740,), (55801,)], [(55748,)], [(55783,), (55786,), (55787,), (55788,)], [(55817,), (55821,)], [(55818,)]]
如列表aa内嵌套列表,里面又由不同个数元素的元组组成,怎么可以快速获取列表内的每一个元素呢?

aa = [[(55736,)], [(55739,)], [(55740,), (55801,)], [(55748,)], [(55783,), (55786,), (55787,), (55788,)], [(55817,), (55821,)], [(55818,)]]
def getelement(aa):
    for elem in aa:
        if type(elem)==type([]):
            for element in getelement(elem):
                yield element
        else:yield elem
for elem in getelement(aa):print(elem)(55736,)
(55739,)
(55740,)
(55801,)
(55748,)
(55783,)
(55786,)
(55787,)
(55788,)
(55817,)
(55821,)
(55818,)

参考技术A for b in aa:
for bb in b:

print(bb)

python 解嵌套的list

有一个列表lst_all(几百万项),里面的每项也是一个列表lst_one,里面的列表lst_one格式为['A',黄],['A',绿],['A',白],['B',黄],['C',紫],['C',蓝],即lst_all的形式为:[['A',黄],['A',绿],['A',白],['B',黄],['C',紫],['C',蓝]......]
当里面的lst_one第一项字母相等时,就把第二项颜色拼接在一起。即最终实现[['A','黄绿白'],['B','黄'],['C','紫蓝']...]
求大神简单的方法

import itertools

lst_all = [['A','Blue'],['A','Green'],['A','Yellow'],['B','Red'],['C','Red'],['C','White']]

collector = []
for k, lstgroup in itertools.groupby(sorted(lst_all), lambda x: x[0]):
    collector.append([k, ','.join([c[1] for c in lstgroup])])

print collector

参考技术A # coding: utf-8
lst_all = ['A','黄'],['A','绿'],['A','白'],['B','黄'],['C','紫'],['C','蓝']
d = 
for sublist in lst_all: d[sublist[0]] = d.get(sublist[0],'') + sublist[1]
print sorted(d.items())

用字典的方式更简洁性能会高非常多.

以上是关于python 怎么快速获取嵌套列表内的每一个元素?的主要内容,如果未能解决你的问题,请参考以下文章

python中flat将嵌套列表中的元素按顺序排列在一个列表中

如何在嵌套列表的每个子列表中指定特定元素的索引?

python中的if循环怎么样?

python 题目: 怎么把while循环输出的每一个整数放进列表里呀?

python中的列表操作

python 解嵌套的list