python基础之 zip( ) 实现行列转化

现在有一个列表如下:

user_info = [["name","age","gender","food"],
             ["张三","15","男","吃零食"],
             ["李四","25","女","吃烧烤"],
             ["王五","30","男","吃米饭"]]

需要将其转化为如下格式:

new_info = [{"name":"张三","age":"15","gender":"男","food":"吃零食"},
            {"name":"李四","age":"25","gender":"女","food":"吃烧烤"},
            {"name":"王五","age":"30","gender":"男","food":"吃米饭"}]

代码设计思路:

  • 通过下标提取第零个元素作为 key

  • 用过下标提取之后所有的元素循环遍历作为 对应的 value

  • 通过 zip() 进行对应行列转化

  • 通过dict() 将结果转化为字典格式

  • 使用空列表接收所有数据


代码实现:


# 定义一个使用方法
def zip_use(user_info):
    # 先准备一个空列表
    res = []
    # 将需要的 key值根据下标提取出来
    title = user_info[0]
    # 将需要的 value值根据下标提取出来并循环遍历
    info = user_info[1:]
    
    for i in info:
        # 通过zip进行行列转化,并通过dict转化为字典格式
        new_res = dict(zip(title,i))
        # 每次循环完成,空列表添加一条数据
        res.append(new_res)
    # 返回循环结束后的列表
    return res

'''通过调用 zip_use 方法,打印结果'''
print(zip_use(user_info))

打印结果:

C:\Users\86176\AppData\Local\Programs\Python\Python36\python.exe D:/PyCharm_Community/class/study/zip行列转化.py
[{'name': '张三', 'age': '15', 'gender': '男', 'food': '吃零食'}, {'name': '李四', 'age': '25', 'gender': '女', 'food': '吃烧烤'}, {'name': '王五', 'age': '30', 'gender': '男', 'food': '吃米饭'}]

Process finished with exit code 0

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值