Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
 Аватар для akzo
71 / 67 / 6
Регистрация: 08.08.2013
Сообщений: 286
Записей в блоге: 8

Пробегаем по списку

20.07.2015, 21:40. Показов 3616. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется такой файл:
7316717653133062491922511967442657474235 5349194934
9698352031277450632623957831801698480186 9478851843
8586156078911294949545950173795833195285 3208805511
1254069874715852386305071569329096329522 7443043557
6689664895044524452316173185640309871112 1722383113
6222989342338030813533627661428280644448 6645238749
3035890729629049156044077239071381051585 9307960866
7017242712188399879790879227492190169972 0888093776
6572733300105336788122023542180975125454 0594752243
5258490771167055601360483958644670632441 5722155397
5369781797784617406495514929086256932197 8468622482
8397224137565705605749026140797296865241 4535100474
8216637048440319989000889524345065854122 7588666881
1642717147992444292823086346567481391912 3162824586
1786645835912456652947654568284891288314 2607690042
2421902267105562632111110937054421750694 1658960408
0719840385096245544436298123098787992724 4284909188
8458015616609791913387549920052406368991 2560717606
0588611646710940507754100225698315520005 5935729725
7163626956188267042825248360082325753042 0752963450

Для начала мне надо научиться обращаться к его элементам по их индексу. Первое, что ударило в голову поэта было:

Python
1
2
3
4
5
6
7
fayl = open("number.txt", "r")
 
cifri = fayl.read()
cifra = [cifra for cifra in cifri if cifra != "\n"]
 
for index, element in enumerate(cifra) :
    print(element[index])
На что интерпретатор радужно ответил : IndexError: string index out of range

Попробывал так:
Python
1
2
3
4
5
6
7
fayl = open("number.txt", "r")
 
cifri = fayl.read()
cifra = [cifra for cifra in cifri if cifra != "\n"]
 
for index, element in enumerate(cifra) :
    print (element, index)
Результат есть:

('7', 0)
('3', 1)
('1', 2)
('6', 3)
('7', 4)
('1', 5)
('7', 6)
('6', 7)
('5', 8)
('3', 9)
('1', 10)
...
Я сталкивался с подобной проблемой, но никак не вспомню как с ней боролся, форумчане если не трудно направьте на путь истинный.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.07.2015, 21:40
Ответы с готовыми решениями:

AJAX: пробегаем по списку в DGW и для каждого элемента дергаем SQL-запрос
Здравствуйте. Пожалуйста, подскажите чайнику возможно ли в принципе то, что я пытаюсь наваять? Уже несколько дней бьюсь, jquery...

Определить предикат который истинен если все повторяющиеся элементы списка 1 принадлежат списку 2 и не принадлежат списку 3
Определить предикат P(List1,List2,List3) который истинен если все повторяющиеся элементы списка List1 принадлежат списку List2 и не...

Доступ по списку ip
Всем привет. Есть список ип адресов которым нужно иметь доступ на сайт остальным закрыть доступ. Делаю через htaccess, но почему то ничего...

7
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
20.07.2015, 21:52
Python
6
7
for index in range(len(cifra)):
    print(cifra[index])
1
 Аватар для akzo
71 / 67 / 6
Регистрация: 08.08.2013
Сообщений: 286
Записей в блоге: 8
20.07.2015, 21:59  [ТС]
Спaсибо. Я просто вбил себе в голову , что enumerate() это пайтон вей . Но все же почему enumerate не справляеться со своей работой ?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
20.07.2015, 22:09
Вы хотите "обратится к элементам списка по индексу" — вот и обращайтесь. enumerate же нумерует каждый элемент списка, преобразуя список элементов в список пар, где первый элемент пары — номер в списке.
0
 Аватар для akzo
71 / 67 / 6
Регистрация: 08.08.2013
Сообщений: 286
Записей в блоге: 8
20.07.2015, 22:13  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
где первый элемент пары — номер в списке
Что в принципе и есть индекс, так что это не объясняет странную работу enumerate
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
20.07.2015, 22:56
Лучший ответ Сообщение было отмечено akzo как решение

Решение

Почему Вы считаете работу странной? В чем Вы видите эту странность? Список это — cifra, элемент списка — element, т.е. cifra[index] тоже самое что element, а у Вас что в коде? element[index]?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
21.07.2015, 07:22
Я бы сделал так:
Python
1
2
3
4
import numpy as np
arr = np.fromfile('d:/temp/nums.txt', sep='', dtype=np.int8)
z = ord('0')
arr2 = arr[arr>=z]-z
Путь неочевидный, зато получаем numpy-массив, пригодный для дальнейших операций. Ну и по скорости хорошо.

Цитата Сообщение от Marinero Посмотреть сообщение
enumerate же нумерует каждый элемент списка, преобразуя список элементов в список пар, где первый элемент пары — номер в списке.
Не совсем. enumerate делает такой генератор, а не список. То есть в памяти не хранит, со всеми вытекающими. В частности, вытекает, что по индексу к enumerate обратиться не получится.
0
 Аватар для akzo
71 / 67 / 6
Регистрация: 08.08.2013
Сообщений: 286
Записей в блоге: 8
21.07.2015, 11:47  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
cifra[index] тоже самое что element, а у Вас что в коде? element[index]?
Да теперь понял. Спасибо

Добавлено через 4 минуты
Цитата Сообщение от dondublon Посмотреть сообщение
Путь неочевидный, зато получаем numpy-массив, пригодный для дальнейших операций. Ну и по скорости хорошо.
Да с numpy я еще не работал, надо попробывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.07.2015, 11:47
Помогаю со студенческими работами здесь

Загрузка по списку.
У меня есть текстовый файл содержимое которого такое: 5 http//ссылка до файла1 http//ссылка до файла2 http//ссылка до файла3 ...

Фильтр по списку
Здравствуйте! прошу вашей помощи.Нужно реализовать поиск в форме.Такое я могу проделать с помощью кнопки,на неё макрос на применение...

Проход по списку
Вот код: numbers = sequence = j = 0 i = 0 while j + 3 != len(numbers): j += 1 for i in numbers: sequence.append(i)

Поиск по списку
Добрый вечер. Нужно считать список(структуру) из файла и сделать по ней поиск. Структуру считал, всё ок. Написал функцию поиска, но...

Grep по списку
Есть код #!/system/bin/sh (export SHELL=/system/bin/sh batcap='/sys/class/power_supply/battery/capacity' batery=$(cat $batcap) ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru