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_Listif __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)
结果:
[['name zhangsan', 'age 10', 'sex man'], ['name lisi', 'age 11', 'sex women']]
以上便是这个函数执行的结果,成功将一个大的无规则的列表按照一定规则做了处理,还可以将上述小列表转换成字典,更加直观,通过键值对的方式获取数据
'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和pdf电子书!'''ret = [['name zhangsan', 'age 10', 'sex man'], ['name lisi', 'age 11', 'sex women']]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)
结果:
[{'name': 'zhangsan', 'age': '10', 'sex': 'man'}, {'name': 'lisi', 'age': '11', 'sex': 'women'}]
两种更加可视化的方法,任君选择吧
总结以上是内存溢出为你收集整理的python基础教程:将一个列表切分成多个小列表全部内容,希望文章能够帮你解决python基础教程:将一个列表切分成多个小列表所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)