Как пройтись по массиву и записать содержимое второго элемента в переменную?

Рейтинг: 0Ответов: 1Опубликовано: 26.04.2015

Имеется массив из нескольких элементов,один из элементов принимает null значение(то есть внутри ничего нет), а вот второй и последующий имеют - какое-то содержимое, вопрос - как обратится ко второму элементу(который содержит данные) и записать содержимое в переменную?Чтобы потом можно было записать в ново созданную форму - если нужно могу чуть подробнее объяснить что это за форма.

Собственно сам массив

texture.longName ##

и содержимое

(1)  * longName : <None>
(2)  * longName : objects\pc\lm\mesh\lmcl_cash_koreandress09_body.dds
(3)  * longName : objects\pc\lm\mesh\lmcl_cash_koreandress07_head.dds

texture это своего рода контейнер данных, из файла,а для обращение к конкретным данным просто указывается, название нужного элемента( в моем случае это longName). Но к примеру там еще есть

* type : ENVIRONMENT

и если указать texture.type - то выведет ENVIRONMENT, это я к тому чтобы не возникало вопросов - что это за массив такой! Я просто не очень силен в питоне, и не пойму как получить значение именно второго элемента в переменную, надеюсь кто-нибудь объяснит!

Ответы

▲ 1

Обращайтесь так:

texture.longName[1]

В Python для индексирования массива используются квадратные скобки [], нумерация начинается с 0, стало быть, второй элемент имеет индекс 1.

Обновление 1

Проверить, является ли первый (то есть нулевой) элемент равным None:

if texture.longName[0] is None:
  # doing something

Проверить, является ли массив равным None (в этом случае, это, конечно, уже не массив, а None):

if texture.longName is None:
  # doing something

Проверить, есть ли первый (то есть, нулевой) элемент в массиве или элемента нет (то есть, массив пуст):

if len( texture.longName ) > 0:
  # doing something

** Обновление 2 **

Если ваши данные представлены не в виде массива, а в виде строки, содержащей элементы разделённый запятой или каким-то другим образом, то вы можете разбить строку на список элементов с помощью операции split.

  my_str.split(',')

Если разбиение осуществляется более сложным образом, а не просто запятой, то вам могут пригодиться регулярные выражения (модуль re) и функции re.split и re.find.