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

Работа в массивами Python

06.10.2020, 12:51. Показов 2465. Ответов 28

Студворк — интернет-сервис помощи студентам
Даны два массива:

A=[1, 23, 5, 3, 45, 36, 242]
B=[1, 23, 242, 3, 36]

Надо найти индексы каждого элемента массива B, если бы они были в массиве A
т.е получится следующее: 0, 1, 6, 3, 5 - это индексы элементов: 1, 23, 242, 3, 36 в массиве A


Далее надо заменить нули в массиве O=[0,0,0,0,0,0,0] на единицы в соответствии с полученными индексами
получается это: О=[1,1,0,1,0,1,1]

Как это записать нормально в коде?


Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2020, 12:51
Ответы с готовыми решениями:

Python Работа с двумерными массивами
1. Определить наименьший элемент каждой четной строки матрицы А. 2. Найти наибольший и наименьший элементы прямоугольной матрицы и...

Работа с ассоциативными массивами на Python
Имеется список учеников и результаты трёх тестов (баллы от 0 до 100). Определить средний балл каждого ученика по трём тестам, вывести...

Задачи по Python с матрицами/массивами
Здравствуйте, прошу помочь с задачами по Python. Я плохо его понимаю... Буду безмерно благодарен. Можно не все делать, хотя бы несколько.

28
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
06.10.2020, 12:58
Лучший ответ Сообщение было отмечено 11s1998 как решение

Решение

Python
1
2
3
4
A = [1, 23, 5, 3, 45, 36, 242]
B = [1, 23, 242, 3, 36]
O = [int(x in B) for x in A]
print(O)
но тут сложность O(len(A)*len(B))
2
0 / 0 / 0
Регистрация: 14.04.2020
Сообщений: 24
06.10.2020, 13:08  [ТС]
как сделать так, чтобы количество элементов в массиве О равнялось не количеству элементов массива А, а индексу максимального элемента массива А + 1 ?
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
06.10.2020, 13:12
лучше задание напишите как вам его дали. а то ничего не понятно из пересказа.
0
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
06.10.2020, 13:13
Можно множество использовать, вместо списка B.. возможно чуть быстрее будет.
0
0 / 0 / 0
Регистрация: 14.04.2020
Сообщений: 24
06.10.2020, 13:15  [ТС]
да, это говнокод
Миниатюры
Работа в массивами Python   Работа в массивами Python  
0
0 / 0 / 0
Регистрация: 14.04.2020
Сообщений: 24
06.10.2020, 13:18  [ТС]
fib = []
fib.insert(0,1)
fib.insert(1,2)
#fib.insert(0,1)
#fib.insert(0,0)

fib1 = 1
fib2 = 2
n = 20
e = 0
while e < n - 3:
fib_sum = fib1 + fib2
fib1 = fib2
fib2 = fib_sum
e = e + 1
fib.append(fib2)
print('fib: ', fib)


f = 100
import random
Z = []
while f != sum(Z):
z = random.choice(fib)
if z < f:
Z.append(z)
if sum(Z)>f:
Z.clear()
Z = list(set(Z))
else:
Z.sort()
#Z.reverse()
print('Z: ', Z)


number_max = max(Z)
print('number_max: ', number_max)

index = fib.index(number_max)
index += 1
print('quantity: ', index)

d=0
D = []
e = 0
while e < index:
e = e + 1
D.append(d)
print('скелет числа: ', D)




O = [int(x in Z) for x in fib]
print(O)







мне надо, чтобы вместо нулей массива D были единицы
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
06.10.2020, 13:24
перевод разве не жадным алгоритмом происходит?
0
0 / 0 / 0
Регистрация: 14.04.2020
Сообщений: 24
06.10.2020, 13:32  [ТС]
я не знаю что это такое
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
06.10.2020, 13:53
почитайте. напишите код, если не получится скидывайте сюда код.
0
0 / 0 / 0
Регистрация: 14.04.2020
Сообщений: 24
06.10.2020, 13:57  [ТС]
в общем, мне кажется, что если удалить все нули после последней единицы, то дальше программа пойдет как надо
Но как это сделать?
Миниатюры
Работа в массивами Python  
0
0 / 0 / 0
Регистрация: 14.04.2020
Сообщений: 24
06.10.2020, 13:58  [ТС]
Допустим, единица имеет индекс 8. Как удалить все элементы после этого индекса?
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
06.10.2020, 13:59
это для какого числа?
0
0 / 0 / 0
Регистрация: 14.04.2020
Сообщений: 24
06.10.2020, 14:00  [ТС]
для последней единицы в массиве
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
06.10.2020, 14:05
А зачем эти нули создавать? Чтобы их потом удалять?
0
0 / 0 / 0
Регистрация: 14.04.2020
Сообщений: 24
06.10.2020, 14:10  [ТС]
ну так они сами создались после такого
O = [int(x in Z) for x in fib]
print(O)

Добавлено через 48 секунд
Теперь из надо удалить из массива. Это возможно?
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
06.10.2020, 14:14
Возможно. Но ход решения неверный. Лучше переписать это все.
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
06.10.2020, 16:13
11s1998, по задаче перевода в фиббоначеву систему счисления посмотри :
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
num = int(input())
fib = [0, 1, 1]
fib1 = fib2 = 1
while num > fib1 + fib2 :
    fib1, fib2 = fib2, fib1 + fib2
    fib.append(fib2)
res = ''
while True :
    if fib[-1] <= num :
        res += "1"
        num -= fib.pop()
        res += "0"
        fib.pop()
    else :
        res += "0"
        fib.pop()
    if not num :
        res += "0" * len(fib)
        break
print(res.rstrip("0"))
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
06.10.2020, 16:19
Gdez, для 377 чему равно?
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
06.10.2020, 16:23
eaa, классический ряд Фиббоначи
0 1 1 2 3 5 8 13 21 34 55 89 144 233
Ответ
1010101010101
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.10.2020, 16:23
Помогаю со студенческими работами здесь

Проблема с массивами JSON в python)
мне нужно достать из JSON значение &quot;P&quot;, который находится в массиве &quot;E&quot;, который находится в массиве &quot;Value&quot;, как это можно...

Задачи по Python с матрицами/массивами
Здравствуйте, прошу помочь с задачами по Python. Я плохо его понимаю... Буду безмерно благодарен. Можно не все делать, хотя бы несколько.

Работа с массивами: распределить элементы одного массива между другими массивами
Доброго времени суток. Не могу понять, что не так с кодом. #include &lt;iostream&gt; #include &lt;clocale&gt; using namespace std; //...

Работа с динамическими массивами. Работа с двумерными массивами
Выполнить все задания предыдущей лабораторной работы, используя ТОЛЬКО динамические массивы. Создать программу, вводящую матрицу размера...

Работа с файлами и строками, работа с двумерными массивами
6. Составьте программу и блок-схему алгоритма обработки строки, находящейся в файле. Необходимо удалить из строки первое вхождение буквы...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
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 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru