Быстрое объединение двух вложенных диктов, сохранение двух значений с одинаковым ключом в диктантах

! является логическим оператором NOT, это логический оператор, который будет инвертировать что-то противоположное.

Хотя вы можете обойти круглые скобки вызываемой функции, используя функцию BANG (!) перед функцией, она все равно инвертирует возврат, который может быть не таким, каким вы хотели. Как и в случае с IEFE, он возвращает undefined , который при инвертировании становится логическим значением true.

Вместо этого используйте закрывающую скобку и BANG (!) если нужно.

// I'm going to leave the closing () in all examples as invoking the function with just ! and () takes away from what's happening.

(function(){ return false; }());
=> false

!(function(){ return false; }());
=> true

!!(function(){ return false; }());
=> false

!!!(function(){ return false; }());
=> true

Другие операторы, которые работают ...

+(function(){ return false; }());
=> 0

-(function(){ return false; }());
=> -0

~(function(){ return false; }());
=> -1

Комбинированные операторы ...

+!(function(){ return false; }());
=> 1

-!(function(){ return false; }());
=> -1

!+(function(){ return false; }());
=> true

!-(function(){ return false; }());
=> true

~!(function(){ return false; }());
=> -2

~!!(function(){ return false; }());
=> -1

+~(function(){ return false; }());
+> -1
1
задан Happy Boy 1 March 2019 в 08:51
поделиться

1 ответ

def merger(dic_a, dic_b):
    dic_merged = {}
    for i in dic_a:
        if i in dic_b:
            dic_merged[i] = [dic_a[i]] + [dic_b[i]]
        else:
            dic_merged[i] = dic_a[i]
    for i in dic_b:
        if i not in dic_a:
            dic_merged[i] = dic_b[i]
    return (dic_merged)
merger(dic_a, dic_b)
0
ответ дан Arkistarvh Kltzuonstev 1 March 2019 в 08:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: