2016-11-28 42 views
1

私はPythonで2つの関数、すなわちget_tech_courses()get_music_courses()を個別のリストに返すexecutorを持っています。それぞれ1および2である。Python - 2つのリストを1つのjsonオブジェクトに結合する

リスト1.

[ 
{'title': 'THE COMPLETE PYTHON WEB COURSE', 'downloads': '4', 'views': '88'}, 
{'title': 'THE COMPLETE JAVA WEB COURSE', 'downloads': '16', 'views': '156'} 
] 

私は親の下に縛らJSON配列、このようなcoursesでリストの両方を組み合わせたいリスト2.

[ 
{'title': 'THE COMPLETE GUITAR COURSE', 'downloads': '18', 'views': '125'}, 
{'title': 'THE COMPLETE KEYBOARD COURSE', 'downloads': '63', 'views': '98'} 
] 

{"courses": 
[{'title': 'THE COMPLETE PYTHON WEB COURSE', 'downloads': '4', 'views': '88'}, 

{'title': 'THE COMPLETE JAVA WEB COURSE', 'downloads': '16', 'views': '156'}, 

{'title': 'THE COMPLETE GUITAR COURSE', 'downloads': '18', 'views': '125'}, 

{'title': 'THE COMPLETE KEYBOARD COURSE', 'downloads': '63', 'views': '98'}] 
} 


これは適切なjsonを印刷していません。

from concurrent.futures import ThreadPoolExecutor 

import tech_course 
import music_course 
import json 

courses = [] 

with ThreadPoolExecutor(max_workers=2) as executor: 
    courses.append(executor.submit(tech_course.get_tech_course).result()) 
    courses.append(executor.submit(music_course.get_music_course).result()) 

print(json.dumps(courses)) 
+2

何について: 'combined_lists = { "コース":リスト1 + list2の}'。あなたが望むものではありませんか? – edgarstack

答えて

4

次のことを試してみてください。

import json 

list_1 = [ 
    {'title': 'THE COMPLETE PYTHON WEB COURSE', 'downloads': '4', 'views': '88'}, 
    {'title': 'THE COMPLETE JAVA WEB COURSE', 'downloads': '16', 'views': '156'}] 

list_2 = [ 
    {'title': 'THE COMPLETE GUITAR COURSE', 'downloads': '18', 'views': '125'}, 
    {'title': 'THE COMPLETE KEYBOARD COURSE', 'downloads': '63', 'views': '98'}] 

res_dict = {"courses": list_1 + list_2 } 

to_json = json.dumps(res_dict) 

出力:

>>> to_json 
'{"courses": [{"downloads": "4", "views": "88", "title": "THE COMPLETE PYTHON WEB COURSE"}, {"downloads": "16", "views": "156", "title": "THE COMPLETE JAVA WEB COURSE"}, {"downloads": "18", "views": "125", "title": "THE COMPLETE GUITAR COURSE"}, {"downloads": "63", "views": "98", "title": "THE COMPLETE KEYBOARD COURSE"}]}' 
+0

私の質問では、エグゼクティブの結果を 'courses'リストに追加しています。私たちはこのようにすることができますか? – CodeWalker

+0

コースがリストで、別のリストの要素を追加する場合は、 'append'の代わりに' extend'を使用する必要があります – ettanany

+0

Worked!乾杯。 – CodeWalker

関連する問題