これは重複した質問かもしれませんが、リストのリストをアンパックし、アンパックされた結果から変数を作成する方法があることを知りたいですか? 次のようなファイルにデータがあります。
'[416213688, 422393399, 190690902, 81688],| [94925847, 61605626, 346027022],| [1035022, 1036527, 1038016]'
だから私はファイルを開いてそれをリストにします
with open ('data.txt', "r") as f:
a = f.read()
a = a.split("|")
print(*a)
出力:
[416213688, 422393399, 190690902, 81688], [94925847, 61605626, 346027022], [1035022, 1036527, 1038016]
これは、プログラムの次のステップに必要な出力です。しかし、この結果a
をさらに使用するために変数にすることはできません。SyntaxError: can't use starred expression here
試してみると、次のようになります。
a = (*a)
を使用して作成しようとしましたzip
が、質問zip 関数で誤った出力を与えるで説明されているのと同様に、誤った出力が得られます。
<zip object at 0x0000000001C86108>
リストのリストをアンパックして次のような出力を得る方法はありますか?
[1st list of variables], [2nd list of variables], [etc...]
itertools を使用すると、次のようになります。
l = list(chain(*a))
Out: ['[', '4', '1', '6', '2', '1', '3', '6'...
それは必須ではありません
したがって、機能するオプションはhttps://stackoverflow.com/a/46146432/8589220です。
row_strings = a.split(",| ")
grid = [[int(s) for s in row[1:-1].split(", ")] for row in row_strings]
print(",".join(map(str, grid)))