请把下面的列表转换为html,在python中将列表转换为HTML表的最简单方法是什么?...
我會把你的問題分成兩部分:給定一個“平面列表”,生成一個子列表列表,其中子列表具有給定的長度,并且整個列表可以按“行主要”順序(第一個和第三個示例)或“列主要”(第二個示例)排列
給定一個包含字符串項的子列表列表,從中生成一個HTML表。
我認為這兩項任務是非常明顯的,把它們搞得一團糟沒有什么好處(也沒有什么損失),所以如果有任何精心設計的圖書館搞得這樣一團糟,我會感到驚訝。
對于第1點,row major很簡單:def row_major(alist, sublen):
return [alist[i:i+sublen] for i in range(0, len(alist), sublen)]
少校也不錯:def col_major(alist, sublen):
numrows = (len(alist)+sublen-1) // sublen
return [alist[i::sublen] for i in range(numrows)]
例如…:L = ['one','two','three','four','five','six','seven','eight','nine']
for r in row_major(L, 3): print r
for r in col_major(L, 3): print r
for r in row_major(L, 4): print r
生成三個所需的結果(每行一個列表,尚未以HTML格式顯示;-)。
問題的后半部分——從字符串列表中生成一個HTML表:def html_table(lol):
print '
for sublist in lol:
print '
'print '
'.join(sublist)print '
'print '
'如果希望將其作為單個字符串而不是打印出來,請將每個print更改為yield,并使用'\n'.join(html_table(lol))。
現在,您有了兩個簡單、有用、可用和可重用的構建塊——當您想將數據顯示為HTML表以外的任何形式時,以及當要顯示為HTML表的列表列表來自于任何其他構建方法時,將它們分開將非常有用。將它們組合在一起在應用程序代碼中很容易實現,但當然也很容易實現一個簡單的“粘合例程”,例如,假設基于yield的html_table版本需要單個字符串結果:def list_to_html_table(alist, sublength, column_major=False):
if column_major:
lol = col_major(alist, sublength)
else:
lol = row_major(alist, sublength)
return ''.join(html_table(lol))
這種構建塊的方法真的比用大塊的糊狀膠水來編程更好、更愉快、更高效嗎。。。?-)
總結
以上是生活随笔為你收集整理的请把下面的列表转换为html,在python中将列表转换为HTML表的最简单方法是什么?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通达oa精灵2017安卓版(17安卓版)
- 下一篇: linux命令行大全(linux 命令