在python中反转列表列表中的元素

min*_*nks 3 python numpy list

我有一个 numpy 数组,其中包含前 2 个标签:

n =  [['20011' '20048']
     ['20011' '20048']
     ['20011' '20048']
     ['20011' '20048']]
Run Code Online (Sandbox Code Playgroud)

我想以相反的顺序获取它们:

[['20048' '20011']
 ['20048' '20011']
 ['20048' '20011']]
Run Code Online (Sandbox Code Playgroud)

我怎样才能在保持格式不变的情况下做到这一点?

到目前为止的代码:

n = model1.classes_[order[:,-5:]]
print(n)
r = [p[::-1] for p in n]
print(r)
Run Code Online (Sandbox Code Playgroud)

输出:

[array(['20048', '20011'], 
      dtype='|S5'), array(['20048', '20011'], 
      dtype='|S5'), array(['20048', '20011'], 
      dtype='|S5'), array(['20048', '20011'], 
      dtype='|S5')]
Run Code Online (Sandbox Code Playgroud)

需要尝试删除dtypes并仅保留反转数组。

Pad*_*ham 5

您的列表似乎缺少逗号,因此实际上每个列表都有一个字符串,但如果您想修改原始子列表,您可以就地执行此操作:list.reverse

for sub in lists:
     sub.reverse()
Run Code Online (Sandbox Code Playgroud)

您实际上有一个 numpy 数组,因此假设它的格式正确,您可以:

In [50]: arr
Out[50]: 
array([['20015', '20013', '20044', '20001', '20002'],
       ['20002', '20015', '20001', '20013', '20070']], 
      dtype='|S5')

In [51]: arr[:,::-1]
Out[51]: 
array([['20002', '20001', '20044', '20013', '20015'],
       ['20070', '20013', '20001', '20015', '20002']], 
      dtype='|S5')
Run Code Online (Sandbox Code Playgroud)

要保存到文件,例如:

In [57]: arr[:,::-1].tofile("out.txt",sep=",")

In [58]: cat out.txt
20002,20001,20044,20013,20015,20070,20013,20001,20015,20002
Run Code Online (Sandbox Code Playgroud)

如果您想要每行保存一行:

In [94]: np.savetxt("out.txt",arr[:,::-1],fmt="%s")

In [95]: cat out.txt
20002 20001 20044 20013 20015
20070 20013 20001 20015 20002
Run Code Online (Sandbox Code Playgroud)