我試圖找到一種最好的演算法來將嵌套串列變成 JSON。
Nested List
[["No","Ratios","2018","2019","2020"],["Profitability Ratio","Profitability Ratio","Profitability Ratio","Profitability Ratio","Profitability Ratio"],["1","Return on Assets (%)","-0.50","0.86","26.62"],["2","Return on Equity (%)","-0.51","0.87","27.14"],["3","Gross Profit Margin (%)","0.00","0.00","0.00"],["Liquidity Ratio","Liquidity Ratio","Liquidity Ratio","Liquidity Ratio","Liquidity Ratio"],["4","Current Ratio (times)","-0.50","0.86","26.62"],["5","Accounts Receivable Turnover (times)","-0.51","0.87","27.14"],["Operation Efficiency Ratio","Operation Efficiency Ratio","Operation Efficiency Ratio","Operation Efficiency Ratio","Operation Efficiency Ratio"],["6","Total Assets Turnover (times)","-0.50","0.86","26.62"],["7","Operation Expense to Total Revenue Ratio (%)","-0.51","0.87","27.14"]]
Beautified Nested List
[
[
"No",
"Ratios",
"2018",
"2019",
"2020"
],
[
"Profitability Ratio",
"Profitability Ratio",
"Profitability Ratio",
"Profitability Ratio",
"Profitability Ratio"
],
[
"1",
"Return on Assets (%)",
"-0.50",
"0.86",
"26.62"
],
[
"2",
"Return on Equity (%)",
"-0.51",
"0.87",
"27.14"
],
[
"3",
"Gross Profit Margin (%)",
"0.00",
"0.00",
"0.00"
],
[
"Liquidity Ratio",
"Liquidity Ratio",
"Liquidity Ratio",
"Liquidity Ratio",
"Liquidity Ratio"
],
[
"4",
"Current Ratio (times)",
"-0.50",
"0.86",
"26.62"
],
[
"5",
"Accounts Receivable Turnover (times)",
"-0.51",
"0.87",
"27.14"
],
[
"Operation Efficiency Ratio",
"Operation Efficiency Ratio",
"Operation Efficiency Ratio",
"Operation Efficiency Ratio",
"Operation Efficiency Ratio"
],
[
"6",
"Total Assets Turnover (times)",
"-0.50",
"0.86",
"26.62"
],
[
"7",
"Operation Expense to Total Revenue Ratio (%)",
"-0.51",
"0.87",
"27.14"
]
]
以上是需要轉換成JSON. 下面是從嵌套串列派生的書面 JSON 結構。
{
"Head Key":[
{
"Profitability Ratio":[
{
"No":1,
"Ratios":"Return on Assets (%)",
"2018":"-0.50",
"2019":"0.86",
"2020":"26.62"
},
{
"No":2,
"Ratios":"Return on Equity (%)",
"2018":"-0.51",
"2019":"0.87",
"2020":"27.14"
},
{
"No":3,
"Ratios":"Gross Profit Margin (%)",
"2018":"0.00",
"2019":"0.00",
"2020":"0.00"
}
]
},
{
"Liquidity Ratio":[
{
"No":4,
"Ratios":"Current Ratio (times)",
"2018":"-0.50",
"2019":"0.86",
"2020":"26.62"
},
{
"No":5,
"Ratios":"Accounts Receivable Turnover (times)",
"2018":"-0.51",
"2019":"0.87",
"2020":"27.14"
}
]
},
{
"Operation Efficiency Ratio":[
{
"No":6,
"Ratios":"Total Assets Turnover (times)",
"2018":"-0.50",
"2019":"0.86",
"2020":"26.62"
},
{
"No":7,
"Ratios":"Return on Assets (%)",
"2018":"-0.51",
"2019":"0.87",
"2020":"27.14"
}
]
}
]
}
我正在使用 python 語言為上述問題找到最佳時間復雜度演算法。我有點困惑需要使用什么內置函式來解決這個問題
uj5u.com熱心網友回復:
lst = [["No","Ratios","2018","2019","2020"],["Profitability Ratio","Profitability Ratio","Profitability Ratio","Profitability Ratio","Profitability Ratio"],["1","Return on Assets (%)","-0.50","0.86","26.62"],["2","Return on Equity (%)","-0.51","0.87","27.14"],["3","Gross Profit Margin (%)","0.00","0.00","0.00"],["Liquidity Ratio","Liquidity Ratio","Liquidity Ratio","Liquidity Ratio","Liquidity Ratio"],["4","Current Ratio (times)","-0.50","0.86","26.62"],["5","Accounts Receivable Turnover (times)","-0.51","0.87","27.14"],["Operation Efficiency Ratio","Operation Efficiency Ratio","Operation Efficiency Ratio","Operation Efficiency Ratio","Operation Efficiency Ratio"],["6","Total Assets Turnover (times)","-0.50","0.86","26.62"],["7","Operation Expense to Total Revenue Ratio (%)","-0.51","0.87","27.14"]]
result = dict()
for i in range(1, len(lst)):
if not lst[i][0].isnumeric():
key = lst[i][0]
result[key] = []
else:
result[key].append({k: v for (k,v) in zip(lst[0], lst[i])})
print(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/390206.html
