Как получить значение c для списка [python] __ для начинающих - PullRequest
0 голосов
/ 17 апреля 2020

Допустим, у меня есть такой список.

info = [['x1', 'x2', 'x3', 'x4'], ['y1', 'y2', 'y3', 'y4']]

Если я попытаюсь

print(info[0])

Я, очевидно, получу ['x1', 'x2', 'x3', ' x4 '] этот список.

Bur Я хочу получить только:' x1 ',' x3 'и' y1 ',' y3 '(указать c значения)

Есть ли какие-либо решение? Спасибо

Ответы [ 3 ]

1 голос
/ 17 апреля 2020

О списках:

Итак, у вас есть список:

info = [['x1', 'x2', 'x3', 'x4'], ['y1', 'y2', 'y3', 'y4']]

#       [                      ]  [                      ]
#             info[0]                   info[1]

Как вы сказали 0 - первый элемент списка.

Однако, если у нас есть список внутри списка, мы можем выбрать элементы, которые мы хотим, определенно нацеливаясь на их индекс:

info = [['x1', 'x2', 'x3', 'x4'], ['y1', 'y2', 'y3', 'y4']]
#       ['x1', 'x2', 'x3', 'x4'], ['y1', 'y2', 'y3', 'y4']
#        [0]    [1]   [2]   [3]    [0]   [1]   [2]    [3]
#       [                      ]  [                      ]
#             info[0]                   info[1]

Итак, чтобы получить спецификацию c 'x1', 'x3' и 'y1', 'y3'

print(info[0][0], info[0][2], info[1][0], info[1][2])

Другим методом будет нарезка списка:

#       ['x1', 'x2', 'x3', 'x4'], ['y1', 'y2', 'y3', 'y4']
#       [            :         ]  [          :           ]

#Slicing [start:stop:step]
# info[0][:] ['x1', 'x2', 'x3', 'x4']

И если вы запустите: print(info[0][::2])

Вы получите: ['x1', 'x3']

Foy y, вы запускаете info[1][::2].

Другим способом будет l oop через список

for sublist in info:
 print(sublist[1], sublist[3])
 # or
 print(sublist[::2])
1 голос
/ 17 апреля 2020

Это вложенный список. Так что для доступа к элементам внутри внутреннего списка вам нужно что-то вроде этого:

In [103]: info = [['x1', 'x2', 'x3', 'x4'], ['y1', 'y2', 'y3', 'y4']]

In [104]: info[0][1]
Out[104]: 'x2'

In [105]: info[1][1]
Out[105]: 'y2'

Если вы планируете использовать для l oop для доступа к элементу, то вам нужно выполнить итерацию дважды.

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

информация - это 2D список, это означает, что это список списков. когда вы получаете первый элемент информации с помощью info[0], он возвращает ['x1', 'x2', 'x3', 'x4'], если вы хотите получить первый элемент x, y, вы можете сделать это следующим образом:

print(info[0][0], info[1][0])

вы также можете использовать zip чтобы получить x, y вместе в кортеже:

zip_info = zip(info[0], info[1])
print(zip_info[0])

Вывод:

(x1, y1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...