преобразовать столбец в матрице в список в Python? [Дубликат]

1

Как преобразовать столбец в матрицу в список в Python? Например, конвертировать

test = [['Student','Ex1','Ex2','Ex3'],['Thorny','100','90','80'],['Mac','100','90','80'],['Farva','100','90','80']]

в

Student = ['Thorny','Mac','Farva']

Пожалуйста, порекомендуйте.

  • 0
    [x[0] for x in test[1:]]
Теги:
python-3.x

3 ответа

0
Лучший ответ
Student = list(zip(*test))[0][1:]

where 

>>>list(zip(*test))

[('Student', 'Thorny', 'Mac', 'Farva'),
 ('Ex1', '100', '100', '100'),
 ('Ex2', '90', '90', '90'),
 ('Ex3', '80', '80', '80')]
  • 3
    Хотя это может ответить на вопрос авторов, в нем отсутствуют некоторые поясняющие слова и ссылки на документацию. Фрагменты необработанного кода не очень полезны без каких-либо фраз вокруг него. Пожалуйста, отредактируйте свой ответ.
  • 0
    Кроме того, необработанные фрагменты кода могут быть идентифицированы как «сообщения низкого качества» и удалены. Я вижу этот пост из этой очереди.
2

Попробуйте это, самый компактный способ, которым я мог бы придумать: Student = [y [0] для y в тесте]

0 можно изменить на то, что вы хотите, конечно.

0

Самый простой способ - использовать numpy для его индексации:

import numpy as np
convert_test = [['Student','Ex1','Ex2','Ex3'],['Thorny','100','90','80'],['Mac','100','90','80'],['Farva','100','90','80']]
convert_test = np.array(convert_test)
print(convert_test[:,0])

array (['Student', 'Thorny', 'Mac', 'Farva'], dtype = 'U7')

  • 1
    Я не уверен, что проще всего это правильное прилагательное здесь.
  • 0
    Справедливо. Мне больше нравится ответ @Stepan Filonov. Хорошее использование ванильного питона.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню