周大胖子 发表于 2023-8-17 17:31:16

python zip 函数(存在赋值的疑问)




# zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
#
# 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
# 引入一个函数 zip 返回的是一个zip 对象
a = ['1', '2']
b = ['3', '5']
c = zip(a, b)
f = ['哇哈哈', '冰红茶', '带打']
d(c)
# <zip object at 0x00000166FFA78600>

# 转化为列表
d(list(c))
# [('1', '3'), ('2', '5')]

# 转化为字典值
# info4=dict(zip(['num','name','age'],['2003','小明','19']))
d(dict(c))
# {}虽然 c = zip(a, b) ,但是 用dict 却转不成字典这个问题我还真不知道为啥

d(dict(zip(a, b)))
# {'1': '3', '2': '5'}

d(dict(zip(a, f)))
#{'1': '哇哈哈', '2': '冰红茶'}得出结论 只按照少的来

# zip(*) 可理解为解压,返回二维矩阵式
a2,b2 = zip(*zip(a, f))
d(a2)
# ('1', '2') 解压之后是元组类型 可以利用list 进行转换

页: [1]
查看完整版本: python zip 函数(存在赋值的疑问)