+ 16
dictionaries
What is the result of this code? fib = {1: 1, 2: 1, 3: 2, 4: 3} print(fib.get(4, 0) + fib.get(7, 5)) How does this works?
22 Réponses
+ 53
It is quite simple sis .
In python dictionaries, following is a conventional method to access a value for a key. The get() method is used to avoid such situations.
Here in fib.get(4,0) four was present in dictionary so it got the value from dictionary but in fib.get(7,5) seven was not not found in dictionary therefore it will take the second value from your fib.get(7,5) I.e 5
From first statement u get 3 and from second statement you get 5 because 7 is not found in dictionary.
So result will be 3+5=8
+ 7
fib = {1:1 , 2:1 , 3:2 , 4:3}
print(fib.get( 4,0 ) + fib.get( 7,5 )
.get searching for the key.
fib.get(4,0)
Searching in the (fib) dictionary
If key 4 in (fib) dictionary will get the value, if key 4 is not defined 4 = 0
fib.get (4,➡️0) like as key 7 in dictionary
fib.get(4,0) searching a key 4 in the dictionary { 1:1 ,2:1 ,3:2 ,➡️4:3 } will 4=3
fib.get(7,5) searching a key 7 in the dictionary { 1:1 ,2:1 ,3:2 ,4:3 }❌ is not defined in dictionary will 7 = 5
fib.get(7,➡️5)
fib.get(4,0) + fib.get(7,5)
=
(3). +. (5)
=8
+ 3
get method returns the value associated with the key. get method takes the key as the argument it can also take two argument one for true and another for false.
coming to the code:
fib.get(4,0) checks for the key 4 in the fib dictionary, It contains 4 so it return its value which is 3 . if the fib dictionary does not contain 4 it would have return 0.
In the same way fib.get (7,5) returns 5 because it does not contain 7
so the total result is 3+5 which is 8
+ 3
1 --> 1
2 --> 1
3 --> 2
4 --> 3
The print statement is holding a sum of get() functions. The get() function has 2 Inputs: First one is what to find, and the second one is what to print instead of "None" when key not found.
First block of the sum is get(4, 0). It found it, and returned the value of that key, 3.
Second block of the sum is get(7, 5). Key 7 was not found, so it will return 5.
Therefore is 3 + 5 printed, which is 8.
+ 2
Here
(fib.get(4,0)), returns 3, Since 4 is in dictionary and
(fib.get(7,5)), returns 5, since 7 in not in dictionary ,So it takes value 5 as given in code, so
(3+5) gets 8
+ 2
fib.get(4,0)=3
fib.get(7,5)=5
3+5=8
+ 1
A chave esta na linha:
print(fib.get(4,0) + fib.get(7, 5))
O recurso .get tem dois parâmetros: o primeiro a chave que se deseja o valor, e o segundo um valor alternativo, caso a chave não seja encontrada.
fib.get(4,0) retornará 3 que é o valor da chave 4.
fib.get(7,5) retornará 5 que é o valor alternativo, pois não há uma chave 7
O resultado será 8.
+ 1
Por si hablas español:
El comando get solo tomará 1 valor y cumplirá lo siguiente...
- Si el primer número está en el diccionario (es correcto), este se ejecutará como parte del diccionario y te dará como respuesta su número asignado (4: 3 entonces te da 3) y ya no se ejecuta el segundo número.
- Si el primer número no está en el diccionario (no es correcto), entonces se ejecuta el segundo pero como un número normal.
- Si ambos están en el diccionario (son correctos), solo se ejecuta el primero como diccionario y el segundo ha no.
La respuesta a la interrogante es 8 ya que es 3 + 5 = 8👍
0
8.
read the get method for the dictionary . I am sure you will understand.
pRIYANKA_K = "all the best"
print(pRIYANKA_K.title() )
👍
0
8
0
fib.get(4,0) returns 3 because 3 exists in the dictionary the elements after comma is executed only if the first element doesn't exist in the dictionary that is why (7,5) returns 5. 7 doesn't exist in the dictionary so that 5 should be printed instead.
hence the total 3 + 5 is 8
0
It will be 8
0
Can I please ask what the application of this is in the real world? Why would anyone do this?
0
I think its true
0
Answer :- 8
0
Mateusz Wabiński Very good explaining. I understood how it works, rather than get just the answer.
0
7,5 7 is not there then howcome it takes the 5 ?
0
It'll check for the keys which are present in the given dictionary and add them. For 4 it's 3 and rest of the keys are not found so it will add the 2nd argument of 2nd parameter i.e. 5. Therefore, 3+5=8. Here no error message is provided which confuses us.
0
#going to the second line of
print(fib.get(4,0) + fib.get(7.5))
The get() method takes a key from the dictionary to output it’s corresponding key (eg. fib.get(4,0) , looking at the dictionary 4 as a key has a value of 3. So it’s lifting 3 and has no action with 0
Second instance where your key in fib.get(7,5) is not in the dictionary, it automatically lifts your default value which is 5
Hence 3+5 =8