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

Передать значения из переменной в лист или массив

10.04.2022, 18:31. Показов 932. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Задача: есть переменная "item_price_forall_stripped", в которую падает 7 значений: 74.99, 52.47, 18.69, 5.57, 243.71, 50.41, 13.65. Тип - string.
Python
1
2
3
4
5
find_price_forall = soup.find_all(class_="value receipt-value-1043")
 
for item_price_forall in find_price_forall:
    item_price_forall_stripped = item_price_forall.text.strip()
    print(item_price_forall_stripped)
Далее, все эти значения мне нужно положить в лист или массив (я так думаю), чтобы можно было обращаться к каждому отдельно. Например, print(spisok[2]) выведет 18.69.
Посоветовали сделать так:
Python
1
spisok = [int(el) for el in item_price_forall_stripped]
Но тут есть несколько непонятных для меня моментоов:
1. Тип данных инт тут не подходит, так как переменная spisok дербанит посимвольно и по итогу ругается: "invalid literal for int() with base 10: '.'". Почему так?
2. Переменная spisok берет только последнее значение (13.65), а мне нужно все 7. Как это организовать?

Если оставлять тип данных string, то результат выполнения
Python
1
2
spisok = [str(el) for el in item_price_forall_stripped]
print(spisok)
выведет "['1', '3', '.', '6', '5']"

Как мне обращаться к каждому значению переменной item_price_forall_stripped обращаться отдельно?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.04.2022, 18:31
Ответы с готовыми решениями:

Нужно поменять значения в массиве или передать их в новый массив
Добрый день уважаемые форумчане, столкнулся с проблемой. Мне нужно из массива в котором закодированы значения в base64 записать данные...

Как передать значения после каждой итерации цикла в отдельную переменную или в массив для последующего использования/ ис
как выглядит весь код public static void Run() { public static string desktop =...

Передать переменной значения столбца
Прошу помощи! Код хранимой процедуры: BEGIN select @a:=count(exam.eres) AS kolvo_pyaterok, @b:= exam.estud AS student from exam ...

9
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.04.2022, 19:10
Python
1
2
3
4
5
6
7
8
9
In [1]: item_price_forall_stripped = ['74.99', '52.47', '18.69', '5.57', '243.71', '50.41', '13.65']
 
In [2]: spisok = [float(el) for el in item_price_forall_stripped]
 
In [3]: spisok
Out[3]: [74.99, 52.47, 18.69, 5.57, 243.71, 50.41, 13.65]
 
In [4]: spisok[2]
Out[4]: 18.69
1
0 / 0 / 0
Регистрация: 10.04.2022
Сообщений: 5
10.04.2022, 19:48  [ТС]
Спасибо за ответ, но ругается "could not convert string to float: '.'"
Может быть 4-ая строка работает как-то по особенному и .split() делит все посимвольно?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.04.2022, 19:57
покажите
Python
1
print(item_price_forall_stripped)
0
0 / 0 / 0
Регистрация: 10.04.2022
Сообщений: 5
10.04.2022, 20:02  [ТС]
Вот
item_price_forall_stripped: 74.99
item_price_forall_stripped type: <class 'str'>
item_price_forall_stripped: 52.47
item_price_forall_stripped type: <class 'str'>
item_price_forall_stripped: 18.69
item_price_forall_stripped type: <class 'str'>
item_price_forall_stripped: 5.57
item_price_forall_stripped type: <class 'str'>
item_price_forall_stripped: 243.71
item_price_forall_stripped type: <class 'str'>
item_price_forall_stripped: 50.41
item_price_forall_stripped type: <class 'str'>
item_price_forall_stripped: 13.65
item_price_forall_stripped type: <class 'str'>
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.04.2022, 20:08
Лучший ответ Сообщение было отмечено Poddelkin как решение

Решение

аа, нутк

Python
1
2
3
for item_price_forall in find_price_forall:
    item_price_forall_stripped = item_price_forall.text.strip()
    print(item_price_forall_stripped)
На каждой итерации вы присваиваете item_price_forall_stripped новое значение, а не добавляете новое в конец.

Python
1
item_price_forall_stripped.append(item_price_forall.text.strip())
1
0 / 0 / 0
Регистрация: 10.04.2022
Сообщений: 5
10.04.2022, 21:14  [ТС]
Цитата Сообщение от Jabbson Посмотреть сообщение
На каждой итерации вы присваиваете item_price_forall_stripped новое значение, а не добавляете новое в конец.
Точно! Спасибо!

По итогу сделал вот так:
Python
1
2
3
4
5
6
7
8
9
find_price_forall = soup.find_all(class_="value receipt-value-1043")
 
priceblock = []
for item_price_forall in find_price_forall:
    item_price_forall_stripped = item_price_forall.text.strip()
    priceblock.append(item_price_forall.text.strip())
    print("Длинна массива: ", len(priceblock))
    for i in range(len(priceblock)):
        print("Элемент массива №", i, priceblock[i])
На выходе получилось:
Кликните здесь для просмотра всего текста
Длинна массива: 1
Элемент массива № 0 74.99
Длинна массива: 2
Элемент массива № 0 74.99
Элемент массива № 1 52.47
Длинна массива: 3
Элемент массива № 0 74.99
Элемент массива № 1 52.47
Элемент массива № 2 18.69
Длинна массива: 4
Элемент массива № 0 74.99
Элемент массива № 1 52.47
Элемент массива № 2 18.69
Элемент массива № 3 5.57
Длинна массива: 5
Элемент массива № 0 74.99
Элемент массива № 1 52.47
Элемент массива № 2 18.69
Элемент массива № 3 5.57
Элемент массива № 4 243.71
Длинна массива: 6
Элемент массива № 0 74.99
Элемент массива № 1 52.47
Элемент массива № 2 18.69
Элемент массива № 3 5.57
Элемент массива № 4 243.71
Элемент массива № 5 50.41
Длинна массива: 7
Элемент массива № 0 74.99
Элемент массива № 1 52.47
Элемент массива № 2 18.69
Элемент массива № 3 5.57
Элемент массива № 4 243.71
Элемент массива № 5 50.41
Элемент массива № 6 13.65
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.04.2022, 21:25
Python
1
    item_price_forall_stripped = item_price_forall.text.strip()
наверное, эта строка лишняя

Добавлено через 6 минут
Длинна массива: 1
Элемент массива № 0 74.99
Длинна массива: 2
Элемент массива № 0 74.99
Элемент массива № 1 52.47
Длинна массива: 3
во-первых, длина Длинна - это когда подруга ростом вышла.

Во-вторых, возможно так и предполагалось, но вывод какой-то странный, на каждой итерации - значения предыдущих массивов, хотя не исключаю, что задумка именно такая.

ну и для цикла, есть вот такая конструкция
Python
1
2
3
4
5
6
7
8
9
10
11
12
In [1]: priceblock = ['74.99', '52.47', '18.69', '5.57', '243.71', '50.41', '13.65']
 
In [2]: for i, v in enumerate(priceblock):
     ...:     print(f'Элемент {i}: {v}')
     ...:
Элемент 0: 74.99
Элемент 1: 52.47
Элемент 2: 18.69
Элемент 3: 5.57
Элемент 4: 243.71
Элемент 5: 50.41
Элемент 6: 13.65
1
0 / 0 / 0
Регистрация: 10.04.2022
Сообщений: 5
10.04.2022, 21:33  [ТС]
Да, спасибо!

Кстати, немного не понял, как вот это: "item_price_forall_stripped.append(item_ price_forall.text.strip())" должно работать.
Изначально массив item_price_forall_stripped не объявлен же, а туда вносятся данные. Даже если он создается в процессе, то жалуется на имя: "name 'item_price_forall_stripped' is not defined. Did you mean: 'item_price_stripped'?" (есть переменная с именем item_price_stripped, используется в другом месте).

Цитата Сообщение от Jabbson Посмотреть сообщение
во-первых, длина Длинна - это когда подруга ростом вышла.
Вечер совсем внимательность забрал

Цитата Сообщение от Jabbson Посмотреть сообщение
Во-вторых, возможно так и предполагалось, но вывод какой-то странный, на каждой итерации - значения предыдущих массивов, хотя не исключаю, что задумка именно такая.
Это я просто быстро проверку влепил. Мне, по сути, вывод через принт и не нужен вовсе. Задумка в том, чтобы можно было обращаться к каждому элементу отдельно, чтобы в дальнейшем использовать для операций разных.

За подсказку про цикл - спасибо. Буду использовать в дальнейшем.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.04.2022, 21:36
Цитата Сообщение от Poddelkin Посмотреть сообщение
Кстати, немного не понял, как вот это: "item_price_forall_stripped.append(item_ price_forall.text.st rip())" должно работать.
до цикла объявить
Python
1
item_price_forall_stripped = []
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.04.2022, 21:36
Помогаю со студенческими работами здесь

Как передать в call все значения переменной
Допустим есть код: set var1=&quot;we&quot; &quot;be&quot; &quot;hr&quot; &quot;dfw&quot; echo %var1% call :test %var1% :test echo...

Как передать значения переменной из JavaScript-а в PHP? Пример.
Как передать значение переменной из JavaScript-а в PHP? Приведите пример.

Передать в C# массив переменной длины.
Привет форумчане. Подскажите как передать в С# из dll-ки массив заранее не известного размера. Dllка генерит массив не извесного...

Массив или лист потоков?
Масив или лист потоков ? что лучше создать ?

Есть две формы и из второй надо передать значения переменной в первую
Добрый день...Я только недавно начал изучать C# и с толкнулся с такой проблемой: Есть две формы и из второй надо передать значения...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru