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

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

17.01.2021, 19:00. Показов 1897. Ответов 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 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
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, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru