• Как из отформатированной строки преобразовать в словарь?

    drygdryg
    @drygdryg
    Python-разработчик
    Например, так:
    my_dict = {'example': [1, 2, 3]}
    lines = ['{}|{}'.format(k, '|'.join(map(str, v))) for k, v in my_dict.items()]
    print('\n'.join(lines))
    my_reconstructed_dict = {k: [int(i) for i in v.split('|')] for k, v in (i.split('|', maxsplit=1) for i in lines)}
    assert my_reconstructed_dict == my_dict
    Ответ написан
    Комментировать
  • Как отформатировать вывод value словаря в python?

    drygdryg
    @drygdryg
    Python-разработчик
    Вам нужно отдельно соединять списки v в строки, прежде чем передавать их в str.format():
    my_dict = {'example': [1, 2, 3]}
    lines = ['{}|{}'.format(k, '|'.join(map(str, v))) for k, v in my_dict.items()]
    print('\n'.join(lines))

    Результат:
    example|1|2|3
    Ответ написан
    1 комментарий
  • Как уместить анимацию на мобильных устройствах?

    @ForSureN1
    frontend dev
    Пишите @media для каждого экрана, т.к. все ваши значения заданы в строгом виде PX, либо менять на %, либо @media
    Ответ написан
    Комментировать
  • Как уместить анимацию на мобильных устройствах?

    mizutsune
    @mizutsune
    Frontend Developer
    Для начала у элементов curley, web, dev, уберите свойства: left, right, bottom. Далее можно немного подправить остальные стили у элементов + немного изменить разметку и ситуация улучшится.

    <div class="container text-uppercase">
        <p class="text curley">Hello</p>
        <div class="group">
          <p class="text web">Hello</p>
          <p class="text dev">Hello</p>
        </div>
        <div class="hide-text"></div>
      </div>


    .container {
         width: 100%;
         max-width: 600px;
         margin: 0 auto;
    }
    
    .text {
         --sw-1: drop-shadow(0 0 1px black);
         --sw-2: drop-shadow(0 0 2px red);
         font-family: "Orbitron", sans-serif;
         background: linear-gradient(darkred 30%, cyan, white, cyan, darkred 70%);
         -webkit-text-stroke: 3px cyan;
         -webkit-background-clip: text;
         -webkit-text-fill-color: transparent;
         font-weight: 900;
         font-size: 4.1em;
         text-align: center;
         text-transform: uppercase;
         filter: var(--sw-1) var(--sw-1) var(--sw-2) var(--sw-2);
         opacity: 0;
         margin: 0;
    }
    
    .group {
         display: flex;
         gap: 10px;
         justify-content: center;
    }
    
    .curley {
         animation: bg-shift 1s infinite linear alternate, 
                    scale 750ms ease-in forwards 3.5s, 
                    jump 500ms ease-out forwards 5.7s, 
                    blur-in 300ms linear 3.5s,
                    zoom 4s ease-in-out 6.25s, 
                    flip 500ms linear forwards 8s;
    }
    
    .web {
         animation: bg-shift 1s infinite linear alternate, 
                    scale-angle1 3s ease-in-out forwards 2s, 
                    blur-in 500ms linear 2s, 
                    rotate-up1 250ms ease-out forwards 5.7s,
                    zoom 1.5s ease-in-out 6.25s, 
                    flip 500ms linear forwards 8.5s;
    }
    
    .dev {
         animation: bg-shift 1s infinite linear alternate, 
                    scale-angle2 3s ease-in-out forwards 2s, 
                    blur-in 500ms linear 2s, 
                    rotate-up2 250ms ease-out forwards 5.7s,
                    zoom 1.5s ease-in-out 6.25s, 
                    flip 500ms linear forwards 8.5s;
    }
    
    /*  Код анимаций без изменений */


    Размер шрифта скорее всего придётся уменьшать через @media запросы, чтобы на мобильниках всё нормально отображалось. Но в целом ваши анимации и стили можно и нужно улучшить.
    Ответ написан
    Комментировать
  • Как уменьшить размер занимаемого места массивом?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Можно ли как-то "сжать" все это дело?

    Скидывать логи сначала на диск, а потом кусками вычитывать и отображать.
    В памяти держать только некоторый адекватный кусок, чтобы успеть подгрузить следующую пачку, пока пользователь скроллит.
    Ответ написан
    4 комментария
  • Как построить дерево?

    Я бы сделал очередь. Пришла строка, запихнул в задачу, забыл. Но тут вопрос сколько памяти нужно на обработку 10к в секунду + реалтайм. Тут уже возникает кэш (в БД или на диске), который не дает переполняться памяти. Опытным путем выясняем сколько задач влезает в память. Если задач уже много в очереди - пишем в кэш. Если мало, то ставим в очередь.
    Или вопрос был про парсинг и построение дерева? Тогда зависит от ЯП.
    Ответ написан
    Комментировать
  • Как в C# сравнивать кортежи?

    ayazer
    @ayazer
    Sr. Software Engineer
    https://docs.microsoft.com/en-us/dotnet/csharp/fun...

    var user = ("Bob", 37);
    
    var str = user switch {
      ("Tom", 36) => "name: Tom, age: 36",
      ("Bob", 37) => "name: Bob, age: 37",
      _ => "Undefined"
    }
    
    Console.Writeline(str);
    Ответ написан
    1 комментарий
  • Почему C# не поддерживает такой паттерн матчинг?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    C# просто не умеет использовать переменные в паттерн-матчинге и switch-case.
    В этом случае можно написать так:
    var matched = obj != null && obj.Id == variable;
    Ну или так, если кейс более сложный:
    var matched = obj is { Id: var id} && id == variable;
    Ответ написан
    Комментировать
  • Как сократить данный код?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Если совсем упороться, то можно вот так сделать:
    new[] { lEntry.Message, lEntry.Sender, lEntry.Level }
      .Any(x => x.Contains(searchText, StringComparsion.OrdinalIgnoreCase)

    Ну или ещё можно написать свой метод, который будет в любой из n строк искать подстроку.

    Например вот такой:
    public static bool IsSubstringOfAny(this string search, params string[] samples) =>
      samples.Any(x=>x.Contains(search, StringComparsion.OrdinalIgnoreCase));
    Ответ написан
    2 комментария