首页 > 编程语言 > 详细

python-将一个列表切分成多个小列表

时间:2019-12-13 23:30:16      阅读:313      评论:0      收藏:0      [点我收藏+]

list是python中较为常见的数据类型,它是一个可迭代对象,迭代是什么?简单的可以理解成:一个可以被for循环遍历的对象

今天拿到一个类似这样的list

list_info = [name zhangsan,age 10,sex man,name lisi,age 11,sex women]

 

其实说白了就是两个人的个人信息,字段都一样,但是在一个共同的列表中,没办法区分,首先需要将这个大列表分成2个(这里人数是不一定的,分列表是按照每个列表固定的长度)的小列表

def list_of_groups(list_info, per_list_len):
    ‘‘‘
    :param list_info:   列表
    :param per_list_len:  每个小列表的长度
    :return:
    ‘‘‘
    list_of_group = zip(*(iter(list_info),) *per_list_len) 
    end_list = [list(i) for i in list_of_group] # i is a tuple
    count = len(list_info) % per_list_len
    end_list.append(list_info[-count:]) if count !=0 else end_list
    return end_list

if __name__ == __main__:
    list_info = [name zhangsan, age 10, sex man, name lisi, age 11, sex women]
    ret = list_of_groups(list_info,3)
    print(ret)

技术分享图片

 

以上便是这个函数执行的结果,成功将一个大的无规则的列表按照一定规则做了处理,还可以将上述小列表转换成字典,更加直观,通过键值对的方式获取数据

    list_dict = []
    for item in ret:
        data = {}
        data[name] = item[0].split( )[1]
        data[age] = item[1].split( )[1]
        data[sex] = item[2].split( )[1]
        list_dict.append(data)
    print(list_dict)

技术分享图片

 

 

两种更加可视化的方法,任君选择吧

python-将一个列表切分成多个小列表

原文:https://www.cnblogs.com/lutt/p/12037454.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!