gpt4 book ai didi

arrays - 压缩数组返回为

转载 作者:行者123 更新时间:2023-12-02 10:19:27 27 4
gpt4 key购买 nike

我有两个数组:X = [1,2,3,4,5,3,8]Y = ['S', 'S', 'S', 'S', 'S', 'C', 'C'] 。当我打印它的压缩数组时,它会生成 <zip object at 0x02B6F198> 。压缩这两个数组的原因是我可以对 Y 进行排序对应sorted(X)在行中

sortedY = [y for x,y in sorted(zip(X,Y))]

这行代码并没有按照我想要的方式对 Y 进行排序( sortedY = ['S','S','C','S','S','S','C'] ),而是 SortedXX 保持相同的排列.

我有第二个程序,在其中使用此代码,它工作正常,但该程序的大小比原始程序小得多。

最佳答案

如果您尝试直接打印压缩列表,那么这是行不通的。 zip 返回一个对象,因此当您尝试打印它时,您只需获取对象方法。如果您想将其视为列表,请应用返回列表的操作。

X = [1,2,3,4,5,3,8]
Y = ['S', 'S', 'S', 'S', 'S', 'C', 'C']

# Some Simple Methods Include
print(list(zip(X, Y)))
print([i for i in zip(X, Y)])

# Output
[(1, 'S'), (2, 'S'), (3, 'S'), (4, 'S'), (5, 'S'), (3, 'C'), (8, 'C')]

现在我不确定问题是什么,因为您提供的内容应该有效

sortedY = [y for x,y in sorted(zip(X,Y))]
print(sortedY)

# Output
['S', 'S', 'C', 'S', 'S', 'S', 'C']

如您所见,它对 Y 进行排序,对应于已排序的 X

print(sorted(zip(X,Y)))

#Output (X, Y)
[(1, 'S'), (2, 'S'), (3, 'C'), (3, 'S'), (4, 'S'), (5, 'S'), (8, 'C')]

关于arrays - 压缩数组返回为 <zip object at 0x02B6F198>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33593556/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com