2013-10-01 3 views
-1

Я пытаюсь вызвать элемент из массива в массиве в Python. Например:Массив внутри массива?

array = [[a1,a2,a3,a4], [b1,b2,b3,b4], [c1,c2,c3,c4]] 

Вопрос в том, как бы напечатать только значение b1?

+4

Они называются списками в Python. –

+1

У вас есть список, а не массив. Просто относитесь к нему так же, как к любому другому списку. Вы хотите, чтобы второй элемент sublist был первым, поэтому просто напишите 'array [1] [0]' – Blender

ответ

2

Чтобы получить доступ к b1, сделайте следующее:

print array[1][0] 

Смотрите пример:

>>> array=[['a1','a2','a3','a4'],['b1','b2','b3','b4'],['c1','c2','c3','c4']] 
>>> array[1] 
['b1', 'b2', 'b3', 'b4'] 
>>> array[1][0] 
'b1' 
>>> 

В принципе, вы индексировать array в положении 1 (который возвращает список б), а затем индексации что список в позиции 0 (который возвращает b1).

+0

Почему downvote? Пожалуйста, оставьте причину, чтобы я мог объяснить/улучшить свой пост. ИМО, ничто иное, как пустая трата привилегий. – iCodez

+0

У вас тоже было вниз? Похоже, что downvote уже ушел, хотя (мой все еще там). –

+1

Да. Я думаю, что кто-то просто возится с нами, а не воспринимает этот сайт всерьез. – iCodez

1

Применяя индексацию на вложенный список:

lst = [ 
    ['a1', 'a2', 'a3', 'a4'], 
    ['b1', 'b2', 'b3', 'b4'], 
    ['c1', 'c2', 'c3', 'c4'] 
] 
b1 = lst[1][0] 

Первый индекс возвращает объект в этом положении; этот объект также является списком, поэтому вы можете сразу применить к этому результату другой индекс.

Это распространяется и на словари и атрибуты. Вы можете использовать методы списка в тех же самых вложенных списках:

lst[1].count('b1') 

например.

Если это помогает понять, представьте себе, назначая результат первой операции индексации временной переменной:

tmp = lst[1] 
b1 = tmp[0] 
0

Вы просто получить доступ к элементу массива из элемента массива, что-то вроде этого:

array[1][0] 
Смежные вопросы