Anonymous
Грубая сила) брутфорс
Forevka ÐΞV
Привет всем. Мне нужно сделать: Неупорядоченная последовательность из словарей, сгруппировать по ключу, на выходе словарь. Вот что она должна выводить:
>>> users = [
{'gender': 'female', 'age': 33},
{'gender': 'male', 'age': 20},
{'gender': 'female', 'age': 21},
]
>>> groupby('gender', users)
{
'female': [
{'gender': 'female', 'age': 23},
{'gender': 'female', 'age': 21},
],
'male': [{'gender': 'male', 'age': 20}],
}
Вот что я сделал:
def groupby(keys, iterable: iter):
res = {}
for keys, group in groupby(list(iterable), key=lambda x, y=keys: x[y]):
if keys not in res:
res[keys] = list(group)
else:
res[keys].append({group})
return res
Но у меня выводит это:
{'female': [{'gender': 'female', 'age': 33}, {<itertools._grouper object at 0x7f9330073940>}], 'male': [{'gender': 'male', 'age': 20}]}
Как мне исправить <itertools._grouper object at 0x7f9330073940>?
https://onlinegdb.com/BylAbgQvcN
Forevka ÐΞV
конечно этот код можно упростить или переписать в однострочник но так более понятно
Anonymous
Хорошо, но то, о чем я просил, не слишком много, я прошу только сценарий.
Anonymous
Никто не знает, на twilio возможно построить голосовое меню для интернет магазина?
D.
@Forevka Спасибо
Anonymous
Anonymous
Alexey
🏆 Чемпионат по программированию объявляется открытым!
Чемпионат по программированию — это открытые соревнования по фронтенд- и бэкенд-разработке, аналитике данных и машинному обучению, которые организует Яндекс. В каждом направлении два онлайн-раунда и три денежных приза:
I место — 300 тысяч рублей
II место — 150 тысяч рублей
III место — 100 тысяч рублей
Чтобы принять участие в соревновании, регистрируйтесь на сайте:
https://yandex.ru/championship
Tigran
> Все участники попадут на радары рекрутеров Яндекса
like it’s a good thing
Andrew
Айда сколотим команду
Artem
Artem
фронтенд, машинное обучение и аналитика - это более-менее шестеренки
Artem
а бекенд далеко не уедет
Tigran
Зашёл на страницу «Бэкенд-разработка», чтобы понять, какого рода задачи вообще надо решать, а там болтовня про Яндекс. 🤷♂️
Andrew
Andrew
https://boostprojects.net/wp-content/uploads/2017/09/Garnett_Generic.jpg
Artem
ну может и уедет тогда
Artem
Artem
как обычно все
Nikolay
Что бы участвовать - нужно регистрировать акк яндекса. Вышел оттуда.
Nikolay
😏
Tigran
Но надо отдать должное, карусель «Команда» потрясающе красивая
🍁 Jaŭhien
Alexey
Я рад, что вас заинтересовала тема, приходите :)
Nikolay
В firefox анимации выглядят гавняно. Закапывайте обратно.
Alexey
На этом чемпионате будут задачки такого уровня, чтобы их могли решить обычные программисты.
Ilya
Приветсвую
Вопрос про работу со строками
Есть строка большая, и вот часть и нее
intro systemNEED_THIS format ABD,system,systemNEED_THIS,%epochtime%
и мне надо получить слово перед %epochtime%, в данном случаи systemNEED_THIS
Как это сделать красиво и правильно?
Oleksii
Парни, есть где беседы с темами блокчейна?
Антон
Ребят, может кто сталкивался с такой проблемой. Нужно по ssh подключиться к серверу, но вылетает connection timed out, но как только меняю сеть, то есть отключаюсь от своего роутера к другому, или даже к мобильной сети все норм.
Kop
Alex
Maxim
Еще блокировки провайдерские могут так работать.
Alex
Антон
Alex
если ты телнетом не коннектишься к своему серверу по порту на котором у тебя ssh, значит этот порт блочится либо на твоем роутере (скорее всего) либо где-то дальше
Антон
Alex
шта
Alex
Ruslan
Антон
а это что тогда значит
У меня есть несколько доступов к разным серверам. С одним все норм, а к другому с моего роутера не подключается.
Alex
ну круто, инфы даешь море
Anonymous
Народ такой вопрос как передать аргумент в поле?
```field = {
"1": test_1(),
"2": test_2(),
"3": test_3(),
"tag": test_4()
}
k = ["1", "2", "3", "tag", "tag1, tag2"]
for i in k:
if i in field:
funk = field.get(i)```
Ruslan
Антон
Anonymous
Alex
Антон
Ruslan
да, 22
если это хостинг, может просто провайдер заблокировал его по ip, проверь для начала пинг до своего сервера
Alex
Alex
можно карты раскинуть с таким же успехом
Alex
ни пингов ни трейсроутов ни телнета
Ruslan
Misha
Misha
Anonymous
Anonymous
Антон
Misha
тут не только вызвать но и передать в нее аргументы
Language:
python3
Source:
def foo(x):
print(x)
def bar(x):
print(x)
fields = {'1': foo, '2': bar}
k = [('1', 'arg1'), ('2', 'arg2')]
for f, arg in k:
fields[f](arg)
Result:
arg1
arg2
Anonymous
Anonymous
@omojr я конечно сделал не так изящно)) но вот до этого дошел)
def test_4(t):
print("test_4", t)
field = {
"1": test_1,
"2": test_2,
"3": test_3,
"tag": test_4
}
k = ["1", "2", "3", "tag", "tag1, tag2"]
for i in k:
if i in field:
funk = field[i](i)
Misha
в этом варианте еще может быть KeyError, если ключа нужного в дикте нет
Misha
А тю, там иф
Misha
тогда все ок
Anonymous
да это я тоже учту, просто нужно было разобраться как это работет.. а то где-то видел.. а как оно было точно реализовано не помнил... Вообщем спасибо огромное)
Ilya
Nikolay
Ilya
тоже регулярки?
Ну думал, но регулярку думаю соображу
По их нет,то тупо текст
Ilya
Знаю что они шутсрые, а какие ещё возможны способы?
Nikolay
replace
Nikolay
removable_strs = (s1, s2); for rem_str in removable_strs: orig_str = orig_str.replace(rem_str, str()).strip()
Tigran
Зачем replace
Tigran
find же
Ilya
Думюсто будет медленно
Ilya
find же
Пробовал, это была первая мысль
Nikolay
timeit делай и найдешь, что быстрее