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

Проход по списку

09.10.2019, 12:45. Показов 5164. Ответов 8

Студворк — интернет-сервис помощи студентам
Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
numbers = [7, 3, 1, 6, 7, 1, 7, 6]
sequence = []
j = 0
i = 0
while j + 3 != len(numbers):
    j += 1
    
    for i in numbers[i:i+3]:
        sequence.append(i)
 
    print(sequence)
    sequence.clear()
Дана последовательность чисел, и нужно сделать, чтобы код прошелся по списку и выводил 3 числа последовательно,
то есть сначала начиная с 7 выводит [7,3,1], далее начиная с 3 вывести [3,1,6] и так до конца...
У меня выводит так:
Code
1
2
3
4
5
[7, 3, 1]
[3, 1, 6]
[7, 6]
[7, 6]
[7, 6]
Буду рад вашей помощи, проблема для меня актуальна и встречалась во многих задачах...
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2019, 12:45
Ответы с готовыми решениями:

Определить количество самых дешевых книг, используя 1 проход по списку
В списке хранится информация о стоимости каждой из 60 книг. Определить количество самых дешевых книг, используя 1 проход по списку. ...

Проход по двусвязному списку
Есть такой тип данных: type Uchastok = record pl :real; next, prev :integer; end; Также есть массив из...

Проход по списку без цикла
Добро всем :senor: у меня в Image1 загружаются фотографии с определенной папки, названия файлов (фотографий) я занес в StringList а...

8
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
09.10.2019, 12:54
Ну не знаю. Проблема выглядит довольно частной, мне не встречалась.
Как вариант, с несколькими итераторами:
Python
1
2
3
4
5
6
7
8
9
10
11
from itertools import tee
 
numbers = [7, 3, 1, 6, 7, 1, 7, 6]
it1, it2, it3 = tee(numbers, 3)
 
next(it2)
next(it3)
next(it3)
 
for i1, i2, i3 in zip(it1, it2, it3):
    print(i1, i2, i3)
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
09.10.2019, 13:03
Лучший ответ Сообщение было отмечено SalavatGood как решение

Решение

SalavatGood,

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding: utf-8 -*-
 
numbers, sequence = [7, 3, 1, 6, 7, 1, 7, 6], []
 
j = -1
 
while j + 3 != len(numbers):
    j += 1
    
    for i in numbers[j:j+3]:
        sequence.append(i)
 
    print(sequence)
    sequence.clear()
Добавлено через 4 минуты
Второй вариант, без излишеств:

Python
1
2
3
4
5
# -*- coding: utf-8 -*-
 
numbers = [7, 3, 1, 6, 7, 1, 7, 6]
 
for i in range(len(numbers)-2): print(numbers[i: i + 3])
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2019, 13:05
DmFat, я тут сижу, голову ломаю, а он уже сделал...
0
14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
09.10.2019, 13:06  [ТС]
Спасибо за ответ, он более практичен чем мой:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
numbers = [7, 3, 1, 6, 7, 1, 7, 6]
sequence = []
j = 0
i = 0
n = 3
while j + 2 != len(numbers):
    j += 1
    
    while i != n:
        print(numbers[i])
        i += 1
    
    n += 1
    i = n - 3
    print("")
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2019, 13:13
Цитата Сообщение от DmFat Посмотреть сообщение
Второй вариант, без излишеств:

Python
1
2
numbers = [7, 3, 1, 6, 7, 1, 7, 6]
for i in range(len(numbers)-2): print(numbers[i: i + 3])
Капец я тупой...
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
09.10.2019, 15:00
DmFat,
for i in range(len(numbers)-2): print(numbers[i: i + 3])
Неплохо, но не сработает, если у нас iterable вместо списка.
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2019, 15:02
Цитата Сообщение от SalavatGood Посмотреть сообщение
чтобы код прошелся по списку
Всё по условию!
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
09.10.2019, 15:22
dondublon, Согласен, но я всего лишь упростил функцию ТС.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2019, 15:22
Помогаю со студенческими работами здесь

Рекурсивный проход по списку символов
Здравствуйте. Прошу помочь с решением задачи (Common Lisp) на рекурсию. Задача: рекурсивно пройти по списку, который является списком...

Проход по списку с удаление элементов
Доброе время суток, есть ArrayList<Object>(); нужно: 1. взять элемент 2. выполнить действие с элементом 3. удалить элемент из...

Рекурсивный проход по списку. Вложенность
По следам недавней темы. Дается список '(a b c (d e (f g (O U Y))) j x y) нужно получить '("abc"...

Как реализовать полный проход по списку?
Здравствуйте. Использую AMZI Prolog. Есть несколько предикатов: price(Arg,,). price(Arg,,T1):- arg(2,H,Ha), Arg \= Ha,!, ...

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru