Python3のJSONでのDict内List操作について_2
以前こちらで質問させて頂いた者です。再度解決策を教えていただけたらと思い投稿しました。よろしくお願い致します。
jsonFile.json
{
"サイト名1":["URL11","URL12","URL13",..."URL1n"],
"サイト名2":["URL21","URL22","URL23",..."URL2n"],
"サイト名3":["URL31","URL32","URL33",..."URL3n"],
...
"サイト名n":["URLn1","URLn2","URLn3",..."URLnn"]
}
key部分のサイト名は複数個あり、URLはそれぞれ異なるURLが入力されています。
import json
f = open("anidora.json")
datas = json.load(f)
keys = datas.keys()
values = datas.values()
d = []
for k in keys:
row = []
for v in datas[k]:
row.append([v,k])
d.append(row)
d = list(zip(*d))
for r in d:
for v in r:
print('<li><a href=\"{0}\" target=\"_blank\">{1}</a></li>'.format(v[0],v[1]))
#<li><a href="URL11" target="_blank">サイト1</a>/li>
#<li><a href="URL21" target="_blank">サイト2</a>/li>
#<li><a href="URL31" target="_blank">サイト3</a>/li>
#<li><a href="URL12" target="_blank">サイト1</a>/li>
#<li><a href="URL22" target="_blank">サイト2</a>/li>
#<li><a href="URL32" target="_blank">サイト3</a>/li>
#<li><a href="URL13" target="_blank">サイト1</a>/li>
#<li><a href="URL23" target="_blank">サイト2</a>/li>
#<li><a href="URL33" target="_blank">サイト3</a>/li>
この結果は満足だったのですが、valueの配列数が多い場合途中までしか出力されませんでした。
具体例:key:サイト名18、value:URL数48の場合、URL23つ目まで
key:サイト名18、value:URL数28の場合、URL8つ目までしか表示されませんでした。
d.append(row)
d = list(zip(*d))
この間で配列の個数に変動があるみたいなのですが原因がわかりません。
サイト数、URL個数が増えてもすべて出力されるようにする方法を教えてください。
再度の質問になり恐縮ではありますが、ご教示いただけたら幸いです。