Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328

Из массива1 узнать повторы в массиве 2 более 1 раза

17.01.2021, 19:00. Показов 1892. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте есть два массива, нужно узнать поочерёдно из массива1 все его данные, есть ли повторы в массиве 2 более 1 раза
делаю это так:
Python
1
print(f'1- {[x for x in list_1 if x.count(list_2) > 1]}')
мало того, что не работает по плану но и
ошибка странная
unable to display frame variables - невозможно отобразить переменные кадра
подскажите как правильно определить?

Добавлено через 30 минут
если без вложенного цикла-никак, то это сам напишу....

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

Добавлено через 1 час 5 минут
Python
1
set(list_1).isdisjoint(set(list_2))
истина, если list_1 и list_2 не имеют общих элементов - подскажите, так?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.01.2021, 19:00
Ответы с готовыми решениями:

Найти наибольшее число в массиве, которое повторяется по крайней мере 2 раза, но не более чем 3 раза
подскажите с задачкой пожалуйста Найти наибольшее число в массиве, которое повторяется по крайней мере 2 раза, но не более чем 3 раза....

[masm32] Записать в массив2 только те элементы из массива1, которые больше суммы чётных элементов массива1
Здравствуйте. Я тут попробовал написать функцию на masm32, которая сначала вычисляет сумму четных элементов массива1, а потом записывает...

Найти максимальное из чисел, встречающееся в данном массиве более 1 раза
Необходимо решить 2 задания: 1.Дан массив Х из М целых чисел( 0<M<97;1000<X<100). Найти максимальное из чисел, встречающееся в данном...

21
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.01.2021, 22:21
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
unable to display frame variables - невозможно отобразить переменные кадра
Перестать страдать ерундой. Зачем в f-string вычислять сложные выражения?
Что касается ошибки - у меня все работает (при нормальных данных).
Но так как ты как всегда не привел исходных данных, то, видимо, ждешь ответа от экстрасенсов.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
18.01.2021, 08:01  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
Но так как ты как всегда не привел исходных данных, то, видимо, ждешь ответа от экстрасенсов
так это был новый для меня вид ошибки-ПиЧарм не сказал на какой строке, перезагрузка Пичарма не помогла, помогла как всегда перезагрузка ПК
гуглёж отсылал к неизвестным мне "gevent"
так, как помогла как всегда перезагрузка ПК, то как говорится проехали....

в данный момент подскажите пжл, как в однострочных циклах добавить счётчик, то есть перед строкой
Python
1
if len([x for x, y in Counter(list_1).items() if y > 1]) != 0:
я ставлю счётчик i = 0, а где в цикле мне можно его увеличивать? куда можно вставить i += 1? спс
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.01.2021, 13:26
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
куда можно вставить i += 1?
Никуда. Пиши нормальный цикл.

Вставить можно, но тебе это никак не поможет:
Python
1
2
3
4
>>> i=0
>>> [i:=i+1  for x in range(10) if x % 2==0]
[1, 2, 3, 4, 5]
>>>
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
18.01.2021, 14:14  [ТС]
скажите, если я иду по циклу вида for x in
перед его началом поставлено i = 0 и счётчик увеличиваю, как в нужный момент мне узнать х на второй интерации до текущей?
x.index(i-2)
и
x[i-2]
упираются

Добавлено через 5 минут
Лутц рулит
Python
1
2
3
массив = [17, 12, 3, 9]
for idx, val in enumerate(массив):
    print(idx, val)
жизнь налаживается....

Добавлено через 35 минут
Цитата Сообщение от Garry Galler Посмотреть сообщение
Вставить можно, но тебе это никак не поможет:
чур его чур-на первый взгляд запрашиваем чётные элементы массива: [0, 2, 4, 6, 8]
а по факту...ересь
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.01.2021, 15:09
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
а по факту...ересь
ПО факту - инкремент счетчика четных элементов. Только счетчик будет еще сам list comprehensions заполнять, поэтому так никто не делает.
1
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
18.01.2021, 15:22
Ципихович Эндрю,

Python
1
2
3
4
5
6
list_1 = [1, 2, 3, 4, 5]
list_2 = [1, 1, 4, 4, 6]
 
result = {value: list_2.count(value) for value in list_1 if value in list_2}
 
print(result)  # {1: 2, 4: 2}
2
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
18.01.2021, 15:30  [ТС]
Цитата Сообщение от DmFat Посмотреть сообщение
{1: 2, 4: 2}
так и не понятно, что это
кстати хороший пример привели, спс))
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
18.01.2021, 15:36
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
так и не понятно, что это
словарь, в котором ключ это данные из списка 1 которые есть в списке 2, а значение, это количество повторов.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
18.01.2021, 15:52  [ТС]
Цитата Сообщение от DmFat Посмотреть сообщение
словарь, в котором ключ это данные из списка 1 которые есть в списке 2, а значение, это количество повторов
просто интересно-сами написали или копирнули откуда-то?

Добавлено через 3 минуты
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Из массива1 узнать повторы в массиве 2 более 1 раза
из сабжа не выполняется более 1 раза
0
18.01.2021, 16:12

Не по теме:


Цитата Сообщение от Ципихович Эндрю
сами написали или копирнули откуда-то?
По себе людей не судят...

0
18.01.2021, 16:17

Не по теме:

Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
просто интересно-сами написали или копирнули откуда-то?
прямо в сердце ранил :(

0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.01.2021, 16:40
... Вот пример одновременного возврата вычисленных значений и их счетчика в list comprehensions c использованием оператора walrus и небольшого логического хака:

Python
1
2
3
4
5
6
>>> i=0
>>> [x for x in range(10) if (x % 2==0 and (i:=i+1)) ]
[0, 2, 4, 6, 8]
>>> i
5
>>>
Но я бы не стал так делать, так как не совсем интуитивно.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
19.01.2021, 11:35  [ТС]
Цитата Сообщение от DmFat Посмотреть сообщение
list_1 = [1, 2, 3, 4, 5]
list_2 = [1, 1, 4, 4, 6]
result = {value: list_2.count(value) for value in list_1 if value in list_2}
print(result)  # {1: 2, 4: 2}
фиаско
тут уже не до сабжа - более 1 раза
у меня например ;раз; - которое в массиве нашло 'раз': 4578,
ну да верно, но это просто вхождение Like, например в слово размытый, а не точное InStr, можно подправить?

Цитата Сообщение от Garry Galler Посмотреть сообщение
(i:=i+1)
ну счётчик есть, пример чуть получше, чем в посте № 4

Добавлено через 4 часа 39 минут
я ведь Лутца прочёл по этому вопросу-операции с массивами
так и нашёл по вопросу как с массива вычесть элементы другого массива? спс
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
19.01.2021, 11:47
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
так и нашёл по вопросу как с массива вычесть элементы другого массива?
Поэлементно в цикле.
Python
1
2
3
4
5
6
arr1 = [45,45,45]
arr2 = [1,2,3]
assert len(arr1) == len(arr2)
for i in range(len(arr1)):
    arr1[i] -= arr2[i]
print(arr1)
Добавлено через 2 минуты
Если надо вектора - бери numpy

Python
1
2
3
4
5
6
import numpy as np
 
arr1 = np.array((45,45,45))
arr2 = np.array((1,2,3))
arr1 -= arr2
print(arr1)
2
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
19.01.2021, 12:07  [ТС]
ответы из скриптов поста 15
[44, 43, 42]
[44 43 42]
по вопросу
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
как с массива вычесть элементы другого массива?
из массивов
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
arr1 = [45,45,45]
arr2 = [1,2,3]
после вычитания я почему-то считаю, что будет
[45,45,45]

Добавлено через 10 минут
у вас
Python
1
2
3
4
# вычесть два массива поэлементно, нужно получить: c= [5-1, 6-2, 7-3, 8-4] => c=[4, 4, 4, 4]
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
print([x - y for x, y in zip(b, a)])  # => [4, 4, 4, 4]
мне нужно из а вычесть б
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.01.2021, 12:19
Ципихович Эндрю, Чтобы получить все четверки, надо из б вычесть а.
Python
1
2
3
a = [1, 2, 3, 4] 
b = [5, 6, 7, 8]
print(list(map(lambda x, y: y-x, a, b)))
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
19.01.2021, 12:49  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Чтобы получить все четверки, надо из б вычесть а.
конечно да, согласен
спс за более компактный код
но почему у массива такие сложности
если прибавить
[1, 2, 3, 4] + [5, 6, 7, 8] = [1, 2, 3, 4, 5, 6, 7, 8]-без проблем
если вычесть
[1, 2, 3, 4] - [5, 6, 7, 8] = [1, 2, 3, 4]-как?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.01.2021, 12:54
А говоришь Лутца почитал
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
19.01.2021, 13:35  [ТС]
дошло, в последней строке:
Python
1
2
3
4
5
6
7
8
9
10
11
x = [1, 2, 6, 3, 4, 5, 6, 2, 7, 2, 8]
# уникальные данные из массива
list_уник = list(set(x))
# повторяющиеся данные из массива
list_потор = list([k for k, v in Counter(x).items() if v > 1])
print(x, len(x))  # => [1, 2, 6, 3, 4, 5, 6, 2, 7, 2, 8] 11
print(list_уник, len(list_уник))  # => [1, 2, 3, 4, 5, 6, 7, 8] 8
print(list_потор, len(list_потор))  # => [2, 6] 2
# 8 + 2 может быть != <> не равно длине исходного 11, ввиду множественных повторов
print(
    f'{len(list_уник)} + {len(list_потор)} может быть != <> не равно длине исходного {len(x)}, ввиду множественных повторов')
короче есть возможность-я про строку 5?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.01.2021, 13:35
Помогаю со студенческими работами здесь

Алгоритм выбора элементов, встречающихся в массиве более одного раза
Задача:Дан одномерный массив А(размерностью N). Разработать алгоритм выбора элементов, встречающихся в массиве А более одного раза. Есть...

Найти максимальное из чисел, встречающееся в массиве более одного раза
Задан одномерный массив, содержащий n элементов. Найти максимальное из чисел, встречающееся в массиве более одного раза.

Найти max из чисел, встречающееся в массиве более одного раза
Найти максимальное из чисел, встречающееся в заданном целочисленном массиве A более одного раза.

Найти максимальное из чисел, встречающееся в данном массиве более 1 раза
Добрый день ! помогите пожалуйста написать программу на с++ учусь на 1 курсе это задание из крайней лабы по программированию за 1...

Найти максимум из чисел, встречающихся в массиве более одного раза
Найти максимум из чисел встречающихся в массиве более одного раза Помогите сделать.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru