zip(X, K)

zip函数用于将多个可迭代对象(如列表、元组、字符串等)中的元素配对。当你使用zip(X, K)时,它会生成一个迭代器,这个迭代器的元素是来自XK的元素的元组。

  1. 参数zip函数接受两个或多个可迭代对象作为参数。
  2. 返回值:它返回一个迭代器,迭代器中的每个元素都是一个元组,元组中包含来自每个可迭代对象的对应位置的元素。
  3. 长度:生成的迭代器的长度等于输入的可迭代对象中最短的一个的长度。如果可迭代对象的长度不同,zip会停止在最短的可迭代对象结束的地方

示例1:一维列表

X = [1, 2, 3]
K = ['a', 'b', 'c']
print(list(zip(X, K)))

使用zip之后将会生成一个迭代器,也就是一次返回一个元组(多个对象),因此打印的时候需要用for loop 或者用list()输出

[(1, 'a'), (2, 'b'), (3, 'c')]

示例2:三维数组

X = torch.tensor([[[0, 1, 2], [3, 4, 5], [6, 7, 8]],
                  [[1, 2, 3], [4, 5, 6], [7, 8, 9]]])  # 2x3x3
K = torch.tensor([[[0, 1], [2, 3]], [[1, 2], [3, 4]]]) # 2x2x2

输出为  [ ( X[0], K[0] ),( X[1], K[1] ) ]

X[0]K[0] 是第一个batch的张量,X[1]K[1] 是第二个batch的张量。每个张量的形状如下:

  • X[0] 和 X[1] 的形状是 3x3
  • K[0] 和 K[1] 的形状是 2x2
tensor([[0, 1, 2],
        [3, 4, 5],
        [6, 7, 8]]) 
 tensor([[0, 1],
        [2, 3]])


tensor([[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]]) 
 tensor([[1, 2],
        [3, 4]])

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值