如何在Python/PyTorch中合并不等长数据结构生成值-标签对
合并两个列表的对应元素
方法1:使用zip()函数(生成元组对)
df1 = [[1,2,3],[4,5,6]] df2 = ['a','b'] # 注意:需将a、b改为字符串形式,否则会因未定义变量报错 # 合并得到元组组成的列表 df = list(zip(df1, df2))
此时df[0]为([1,2,3], 'a'),执行numbers, letter = df[0]可直接完成解包。
方法2:列表推导式(生成列表对)
如果需要合并后的每个元素是列表而非元组(完全匹配你要的df[0] = [[1,2,3], a]格式),用列表推导式:
df1 = [[1,2,3],[4,5,6]] df2 = ['a','b'] df = [[item1, item2] for item1, item2 in zip(df1, df2)]
此时df[0]就是[[1,2,3], 'a'],执行numbers, letter = df[0]后:
numbers = [1,2,3]letter = 'a'
注意事项
原代码中的df2 = [a,b]会触发NameError,因为a和b未被定义,实际使用时必须把它们写成字符串'a'和'b'。
内容的提问来源于stack exchange,提问作者Fahren
相关产品推荐
相关产品推荐

