Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647

Как обращаться с многомерным списком?

09.12.2017, 22:51. Показов 3298. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте , нужно понять как парсить многомерный список , а точнее как правильно обращаться к определённому столбцу , меня интересует столбец номер один, где находится айпи.
Количество столбцов варируется от 14 до 22.
Использую вот такой код
Python
1
2
for d in range(len(file)):
 print(file[d])
Как этот код нужно изменить чтобы вывести на экран только первый столбец с айпи адресом.
Есть ли какиенибудь функции для работы с многомерным списком.
Могли бы вы показать как это правильно делать.Спасибо.
[7488] => list(19)
[0] => str(19) "www.yogaclub-spb.ru"
[1] => str(13) "37.115.205.45"
[2] => str(21) "[07/Dec/2017:18:40:28"
[3] => str(6) "+0300]"
[4] => str(5) ""POST"
[5] => str(24) "/forum/register/register"
[6] => str(9) "HTTP/1.1""
[7] => str(3) "200"
[8] => str(5) "33941"
[9] => str(35) ""http://www.yogaclub-spb.ru/forum/""
[10] => str(12) ""Mozilla/5.0"
[11] => str(8) "(Windows"
[12] => str(2) "NT"
[13] => str(4) "6.1;"
[14] => str(6) "WOW64;"
[15] => str(8) "rv:43.0)"
[16] => str(14) "Gecko/20100101"
[17] => str(13) "Firefox/43.0""
[18] => str(2) "0
"
[7489] => list(19)
[0] => str(19) "www.yogaclub-spb.ru"
[1] => str(13) "37.115.205.45"
[2] => str(21) "[07/Dec/2017:18:40:30"
[3] => str(6) "+0300]"
[4] => str(5) ""POST"
[5] => str(24) "/forum/register/register"
[6] => str(9) "HTTP/1.1""
[7] => str(3) "200"
[8] => str(5) "33941"
[9] => str(35) ""http://www.yogaclub-spb.ru/forum/""
[10] => str(12) ""Mozilla/5.0"
[11] => str(8) "(Windows"
[12] => str(2) "NT"
[13] => str(4) "6.1;"
[14] => str(6) "WOW64;"
[15] => str(8) "rv:43.0)"
[16] => str(14) "Gecko/20100101"
[17] => str(13) "Firefox/43.0""
[18] => str(2) "0
"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.12.2017, 22:51
Ответы с готовыми решениями:

Вывод дерева многомерным списком
Необходимо вывести дерево многомерным списком как в примере ниже. Какие существуют способы, чтобы это реализовать?

Как правильно работать с многомерным массивом?
У меня есть проблема, как лучше организовать работу с многомерным массивом. Задача такая. Есть массив Rabotnik (Familij), vtoroi massiv...

Как реализовать работу со списком строк и списком цифр в классе List?
Добрый день! Проблема такая Есть класс-список: #include "stdafx.h" #include <iostream> #include <string> using...

7
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
09.12.2017, 23:26
Python
1
2
for st in matrix:
    print(st[0])
1
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
10.12.2017, 00:05  [ТС]
Semen-Semenich, как просто , а почему тогда не надо писать range(len(mas))

Добавлено через 29 минут
Semen-Semenich, а так можно только со списками , а скажем со словарями так можно?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
10.12.2017, 01:35
Цитата Сообщение от saladdd Посмотреть сообщение
нужно понять как парсить многомерный список
Многомерный список это просто список... просто глубокий.
Никаких специфических функций для итерации по нему не существует.
Ну, кроме разве что enumerate, когда нужно получить пару индекс\значение или reverse\reversed (понятно для чего).
Просто нужно немного абстрактного мышления, чтобы понимать как он устроен:
Python
1
2
3
4
5
6
7
8
m = [
    [1,2,3],
    [1,2,3],
    [1,2,3],
    ]
 
for st in matrix:
    print(st)
Итерация по верхнему уровню даст в st вложенные списки. Нужно оттуда что-то вытащить? Просто возьмите это по нужному индексу. Каждый индекс вложенного списка будет представлять из себя как бы вертикальный столбец таблицы, а список целиком - горизонтальную строку таблицы.
И старайтесь не увеличивать вложенность списков до более чем 2-3 уровней, иначе структура будет излишне сложна для итераций по нижним уровням.

А вот если вы реально хотите работать с многомерными списками как с матрицами - то используйте numpy. Там для многомерных массивов (это уже не обычный list) и матриц (отдельная структура с доп. функционалом) определены все операции, которые поддерживаются настоящими математическими матрицами.

Цитата Сообщение от saladdd Посмотреть сообщение
а почему тогда не надо писать range(len(mas))
Python не Си - здесь любой итерируемый объект предоставляет встроенный итератор (метод __iter__()\iter()) для обхода элементов, и этот итератор автоматически используется циклом for, без необходимости его явного вызова.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
>>> iter("строка")
<str_iterator object at 0x02010F10>
>>> for i in iter("строка"):
    print(i)
 
    
с
т
р
о
к
а
>>>
Метод iter() здесь вызван явно, но без него все работает точно также, поскольку строка - итерируемый объект и в цикле for iter() вызывается неявно самим интепретатором.

Цитата Сообщение от saladdd Посмотреть сообщение
а скажем со словарями так можно?
Странный вопрос - словарь интерируется по key,value - здесь доступ к нужным элементам еще проще. Для того, чтобы появился кортеж key,value - нужно использовать метод items(), а иначе будет итерация только по ключам словаря.
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
11.12.2017, 22:00  [ТС]
по поводу итерируемый объекта - непонял ваш пример.
А есть ли способ через один метод - ну тоесть не создовая цикл посмотреть , что внутри объекта.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.12.2017, 23:32
Цитата Сообщение от saladdd Посмотреть сообщение
не создовая цикл посмотреть , что внутри объекта.
Приведите пример такой возможности на любом другом ЯП.
Цитата Сообщение от saladdd Посмотреть сообщение
по поводу итерируемый объекта
Значит нужно срочно перечитать Лутца... или документацию.
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
12.12.2017, 00:23  [ТС]
Garry Galler, я имел ввиду скажем посмотреть существует ли такая запись в словаре , но без цикла.
пример если только в php
PHP
1
2
$search_array = array('first' => 1, 'second' => 4);
 if (array_key_exists('first', $search_array)
Добавлено через 5 минут
Garry Galler, что такое интерируемый объект в вашем примере это строка
, а как может это мне помочь?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.12.2017, 01:08
Цитата Сообщение от saladdd Посмотреть сообщение
интерируемый объект в вашем примере это строка
Список тоже итерируемый объект... и словарь... и кортеж... и множество и ...все, что имеет итератор может итерироваться.
Как это может помочь? Не знаю. Зависит от вашего понимания понятия итератора.
Цитата Сообщение от saladdd Посмотреть сообщение
array_key_exists
Python
1
2
3
4
5
6
d = dict(first=1, second=4)
if "first" in d:
    print('key exist')
 
print(d.keys()) # получить все ключи словаря
print(d.values()) # получить все значения ключей словаря
Это не
Цитата Сообщение от saladdd Посмотреть сообщение
что внутри объекта
, а процедура проверки наличия ключа в словаре. Такие методы, естественно, есть почти в любом высокоуровневом ЯП.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.12.2017, 01:08
Помогаю со студенческими работами здесь

Как сделать цикл со списком имен файлов и списком для их переименования
Здравствуйте, прошу помощи уважаемые форумчане. Есть файлы с определенными названиями в разных папках, например: D:\Work\1.doc ...

Как проверить, является ли массив ассоциативным, многомерным или последовательным?
Простой массив: $posld = array('apple', 'orange', 'tomato', 'carrot'); Ассоциативный массив: $assoc = array ( 'fruit1' =&gt;...

Android Studio: Как заполнить listView многомерным массивом или таблицей?
Здравствуйте, Я пока новичок в программировании Андроид. Пожалуйста не судите строго. Как мне заполнить ListView многомерным...

Как из таблицы со списком, когда аудитории заняты, собрать таблицу со списком когда они свободны
Есть таблица: ID НомерАудитории Дата ВремяНачалааЗанятия ВремяКонца занятия 1 123 22.03.2017 12:00 ...

Как обращаться к Union
Создал указатель на структуру Person в 19 строчке. Как обратиться к полю Union'a? Некорректное обращение к union в 30, 34, 38, 49, 56,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru