我对编程还比较陌生,并尝试使用 Python 将(非常)长的信息列表放入表格中。我安装了HTML.py from Decalage现在需要将我的列表变成 HTML.py 可以解析的列表列表。
有没有一种简单的方法可以像这样分割列表:
['(617) 965-2555<br />\nOrganization Name', 'Street Name', 'City', 'Zip code', '(413) 333-2251<br />\nOrg Name 2', 'Address', 'City', 'Zip code 2', '(617) 568-7777</p>\n\n']
进入“\n”处的列表列表?
所以理想情况下结果看起来像这样:
[ ['Previous info', '(617) 965-2555<br />']
['Organization name', 'Street name', 'City', 'Zip Code', '(413) 333-2251<br />']
['Org Name 2', 'Address', 'City', 'Zip Code 2', '(617) 568-7777</p>']
]
关于将该列表放入 HTML.py 形式的有组织表格的替代方法的建议也会有所帮助。
最佳答案
>>> a
['(617) 965-2555<br />\nOrganization Name', 'Street Name', 'City', 'Zip code', '(413) 333-2251<br />\nOrg Name 2', 'Address', 'City', 'Zip code 2', '(617) 568-7777</p>\n\n']
>>> [i.split("\n") for i in a]
[['(617) 965-2555<br />', 'Organization Name'], ['Street Name'], ['City'], ['Zip code'], ['(413) 333-2251<br />', 'Org Name 2'], ['Address'], ['City'], ['Zip code 2'], ['(617) 568-7777</p>', '', '']]
如果你想让它变平:
>>> import itertools
>>> list(itertools.chain(*[i.split("\n") for i in a]))
['(617) 965-2555<br />', 'Organization Name', 'Street Name', 'City', 'Zip code', '(413) 333-2251<br />', 'Org Name 2', 'Address', 'City', 'Zip code 2', '(617) 568-7777</p>', '', '']
编辑:
感谢@agf的评论,现在我想我明白了:
>>> a
['(617) 965-2555<br />\nOrganization Name', 'Street Name', 'City', 'Zip code', '(413) 333-2251<br />\nOrg Name 2', 'Address', 'City', 'Zip code 2', '(617) 568-7777</p>\n\n']
>>> [i.split("{}") for i in "{}".join(a).split("\n")]
[['(617) 965-2555<br />'], ['Organization Name', 'Street Name', 'City', 'Zip code', '(413) 333-2251<br />'], ['Org Name 2', 'Address', 'City', 'Zip code 2', '(617) 568-7777</p>'], [''], ['']]
假设“{}”从未在您的原始列表中使用,否则将其更改为不在您的列表中的内容,|
、;:;
等。
您可以轻松过滤输出以删除仅包含空字符串的列表:
filter("".join, result)
关于python - 如何将列表拆分为元素中特定字符的列表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6944985/