मेरे पास इस तरह का एक शब्दकोश है:

{'CO,': {u'123456': [55111491410]},
 u'OA,': {u'3215': [55111400572]},
 u'KO,': {u'asdas': [55111186735],u'5541017924': [55111438755]},
 u'KU': {u'45645': [55111281815],u'546465238': [55111461870]},
 u'TU': {u'asdfds': [55111161462],u'546454149': [55111128782],
  u'546454793': [55111167133],u'546456387': [55111167139],
  u'546456925': [55111167140],u'546458931': [55111226912],
  u'546458951': [55111226914],u'546459861': [55111226916],
  u'546460165': [55111403171, 55111461858]}}

मैं नेस्टेड शब्दकोश में सभी सूचियों की मर्ज की गई सूची प्राप्त करना चाहता हूं।

आउटपुट इस तरह होना चाहिए:

[55111491410,55111400572,55111186735,55111438755,55111281815,55111461870,55111167133,55111167139,....55111403171,55111461858]
-4
Muhammad Waleed 8 सितंबर 2018, 10:51

3 जवाब

सबसे बढ़िया उत्तर

रेगेक्स और इस तथ्य पर आधारित एक सुंदर उत्तर कि ब्याज के सभी मूल्य वर्ग कोष्ठक में हैं

import re

pat = r'(?<=\[).+?(?=\])'

s = """{'CO,': {u'123456': [55111491410]},
 u'OA,': {u'3215': [55111400572]},
 u'KO,': {u'asdas': [55111186735],u'5541017924': [55111438755]},
 u'KU': {u'45645': [55111281815],u'546465238': [55111461870]},
 u'TU': {u'asdfds': [55111161462],u'546454149': [55111128782],
  u'546454793': [55111167133],u'546456387': [55111167139],
  u'546456925': [55111167140],u'546458931': [55111226912],
  u'546458951': [55111226914],u'546459861': [55111226916],
  u'546460165': [55111403171, 55111461858]}}"""

print('[%s]' % ', '.join(map(str, re.findall(pat, s))))

उत्पादन

[55111491410, 55111400572, 55111186735, 55111438755, 55111281815, 55111461870, 55111161462, 55111128782, 55111167133, 55111167139, 55111167140, 55111226912, 55111226914, 55111226916, 55111403171, 55111461858]
2
Antonino 8 सितंबर 2018, 11:27

Xबस ताना के मूल्यों और आंतरिक तानाशाही मूल्यों का उपयोग करके एक सूची समझ काम करेगी। लेकिन याद रखें कि 3.6 तक अजगर में डिक्ट्स का आदेश नहीं दिया जाता है। इसलिए यदि आप पुराने संस्करण का उपयोग कर रहे हैं, तो परिणामी सूची भी किसी क्रम में नहीं होगी

>>> dct = {'CO,': {u'123456': [55111491410]},
...  u'OA,': {u'3215': [55111400572]},
...  u'KO,': {u'asdas': [55111186735],u'5541017924': [55111438755]},
...  u'KU': {u'45645': [55111281815],u'546465238': [55111461870]},
...  u'TU': {u'asdfds': [55111161462],u'546454149': [55111128782],
...   u'546454793': [55111167133],u'546456387': [55111167139],
...   u'546456925': [55111167140],u'546458931': [55111226912],
...   u'546458951': [55111226914],u'546459861': [55111226916],
...   u'546460165': [55111403171, 55111461858]}}
>>> 
>>> [e for idct in dct.values() for lst in idct.values() for e in lst]
[55111491410, 55111400572, 55111186735, 55111438755, 55111281815, 55111461870, 55111161462, 55111128782, 55111167133, 55111167139, 55111167140, 55111226912, 55111226914, 55111226916, 55111403171, 55111461858]
1
Sunitha 8 सितंबर 2018, 11:08
d = {'CO,': {u'123456': [55111491410]},
     u'OA,': {u'3215': [55111400572]},
     u'KO,': {u'asdas': [55111186735], u'5541017924': [55111438755]},
     u'KU': {u'45645': [55111281815], u'546465238': [55111461870]},
     u'TU': {u'asdfds': [55111161462], u'546454149': [55111128782],
             u'546454793': [55111167133], u'546456387': [55111167139],
             u'546456925': [55111167140], u'546458931': [55111226912],
             u'546458951': [55111226914], u'546459861': [55111226916],
             u'546460165': [55111403171, 55111461858]}}
z = []
for i in d.keys():
    for j in d[i].keys():
        z.append(d[i][j][0])

print(z)

आउटपुट:

[55111491410, 55111400572, 55111186735, 55111438755, 55111281815, 55111461870, 55111161462, 55111128782, 55111167133, 55111167139, 55111167140, 55111226912, 55111226914, 55111226916, 55111403171]
0
Nihal 8 सितंबर 2018, 11:07