添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
不爱学习的伏特加  ·  干货合辑 | ...·  1 年前    · 
果断的汽水  ·  android - ...·  1 年前    · 
开朗的豆芽  ·  Docker-Docker与IPV6 - ...·  1 年前    · 

今天拿到一个类似这样的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)