TelenkovDmitry 1 vuosi sitten
vanhempi
commit
f74f13b80e
1 muutettua tiedostoa jossa 19 lisäystä ja 17 poistoa
  1. 19 17
      courses/python_for_begginers/func.py

+ 19 - 17
courses/python_for_begginers/func.py

@@ -650,26 +650,28 @@ def rec(l, level=1):
 
 # rec(a)
 
-def flatten_dict(nested : dict) -> dict:
-	for i in nested:
-		if type(nested[i]) == dict:
-			name = i + "_" + nested[i]
-			nested.update({name: nested[i]})
-			nested.pop(i)
-			return flatten_dict(nested)
-			# return d.update({name: nested[i]})
-			print(nested)
-			# print(nested[i])
-			# print(i)
-			return flatten_dict(nested[i])
-		
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+def flatten_dict(nested : dict, prefix : str = '') -> dict:
+	result = dict()
+	for key, value in nested.items():	
+		if type(value) == int:
+			result.update({prefix + key: value})
+		else:
+			result.update(flatten_dict(value, prefix + key + '_'))		
+	return result
+	
 nes = {'Germany': {'berlin': 7},
           'Europe': {'italy': {'Rome': 3}},
           'USA': {'washington': 1, 'New York': 4}}
 
-# d2 = {"Germany" : '111'}
-# nes.update({"Germany" : '111'})
-# print(nes)
 
-print(flatten_dict(nes))
+print(flatten_dict({'Q': {'w': {'E': {'r': {'T': {'y': 123}}}}}}))
+
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+def merge_two_list(a, b):
+	pass
+
+def merge_sort(s):
+	pass