python教程:将一个列表切分成多个小列表

枫铃3年前 (2021-09-30)Python240

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

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

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

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

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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模块的四种形式

Python模块的四种形式

一、什么是模块? 模块是一系列功能的集合体,而函数是某一个功能的集合体,因此模块可以看成是一堆函数的集合体。一个p...

python练习题:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度

python练习题:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度

题目: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 题目解析: 有一个字符串࿰...

用python实现自己的小说阅读器

用python实现自己的小说阅读器

前一段时间书荒的时候,在喜马拉雅APP发现一个主播播讲的小说-大王饶命。听起来感觉很好笑,挺有意思的,但是只有前20...

Python 字符串操作和函数

字符串的相关操作 1....

Python数据类型判断及列表脚本操作

Python数据类型判断及列表脚本操作

数据类型判断 在python(版本3.0以上)使用变量,并进行值比较时。有时候会出现以下错误: T...

python对象的 init 和 del 方法

对象的初始化方法__in...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。