извлечь номер и всплыть из строки - PullRequest
0 голосов
/ 21 апреля 2020
data =

{'s': 'ok',
 't': [1587486600, 1587490200, 1587493800, 1587497400],
 'c': [6832.0, 6905.99, 6900.0, 6880.0],
 'o': [6831.0, 6849.0, 6906.0, 6900.0],
 'h': [6849.0, 6916.0, 6906.0, 6900.0]}

output like this  =

[[[1587486600, 1587490200, 1587493800, 1587497400], [6832.0, 6905.99, 6900.0, 6880.0]],
 [[6831.0, 6849.0, 6906.0], [6849.0, 6916.0, 6906.0, 6900.0]]]

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Похоже, у вас есть словарь:

In [314]: dd ={'s': 'ok', 't': [1587486600, 1587490200, 1587493800, 1587497400], 'c': [6832.0, 6905.99,
     ...:  6900.0, 6880.0], 'o': [6831.0, 6849.0, 6906.0, 6900.0], 'h': [6849.0, 6916.0, 6906.0, 6900.0
     ...: ]}                                                                                           
In [315]: dd                                                                                           
Out[315]: 
{'s': 'ok',
 't': [1587486600, 1587490200, 1587493800, 1587497400],
 'c': [6832.0, 6905.99, 6900.0, 6880.0],
 'o': [6831.0, 6849.0, 6906.0, 6900.0],
 'h': [6849.0, 6916.0, 6906.0, 6900.0]}

Вы можете получить список значений массива:

In [316]: list(dd.values())                                                                            
Out[316]: 
['ok',
 [1587486600, 1587490200, 1587493800, 1587497400],
 [6832.0, 6905.99, 6900.0, 6880.0],
 [6831.0, 6849.0, 6906.0, 6900.0],
 [6849.0, 6916.0, 6906.0, 6900.0]]

Затем вы можете использовать стандартную индексацию списка и методы для выбора подмножество и / или перегруппировать их.

Или вы можете выбрать элементы из словаря с обычной индексацией словаря.

Например, вы хотите получить два списка списков:

In [317]: [[dd[key] for key in ['t','c']], [dd[key] for key in ['o','h']]]                             
Out[317]: 
[[[1587486600, 1587490200, 1587493800, 1587497400],
  [6832.0, 6905.99, 6900.0, 6880.0]],
 [[6831.0, 6849.0, 6906.0, 6900.0], [6849.0, 6916.0, 6906.0, 6900.0]]]
0 голосов
/ 21 апреля 2020

Это не массив, это объект:

Object.values(string).filter(item => typeof item === Array)
...