Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 压缩数组返回为<;0x02B6F198处的压缩对象>;_Arrays_Sorting_Python 3.x_Zip - Fatal编程技术网

Arrays 压缩数组返回为<;0x02B6F198处的压缩对象>;

Arrays 压缩数组返回为<;0x02B6F198处的压缩对象>;,arrays,sorting,python-3.x,zip,Arrays,Sorting,Python 3.x,Zip,我有两个数组:X=[1,2,3,4,5,3,8]和Y=['S','S','S','S','C','C']。当我打印这个压缩数组时,它会生成。这两个数组压缩的原因是,我可以对行中的sorted(X)对应的Y进行排序 sortedY=[y表示x,y表示已排序(zip(x,y))] 这行代码没有按我所希望的方式对Y进行排序(sortedY=['S','S','C','S','S','S','C']),但是SortedX与X的排列方式相同 我有第二个程序,我在其中使用了这段代码,它工作得很好,但是这个程

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

sortedY=[y表示x,y表示已排序(zip(x,y))]

这行代码没有按我所希望的方式对Y进行排序(
sortedY=['S','S','C','S','S','S','C']
),但是
SortedX
X
的排列方式相同


我有第二个程序,我在其中使用了这段代码,它工作得很好,但是这个程序的大小比原始程序小得多。

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

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')]

你的排序逻辑是什么?你想要什么排序?你想要什么排序?因为这就是Y与X相对应的排序方式。你的问题也是为什么在打印压缩列表时得到object方法而不是列表?我确实希望Y与X相对应。是的,这是我的问题。谢谢,这很有帮助。我仍然不确定对象方法是什么,但我已经确定了问题所在;在前面调用的函数中,我使用了
X.sort()
而不是
something=sorted(X)