作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下形式的分层树:
(((A,B),(C,D)),E)
有没有一种简单的方法来重新安排/绘制它(例如 Python)?
最佳答案
运行这一系列的替换:
(
-> <ul><li>
)
-> </ul></li>
,
-> </li><li>
然后在浏览器中打开
或者如果是python对象,使用pprint:
>>> x = ((("A","B"),("C","D")),"E")
>>> from pprint import pprint
>>> pprint(x, width=1)
((('A',
'B'),
('C',
'D')),
'E')
或自定义 python 解决方案:
from itertools import izip
def first_then(first, then):
yield first
while True:
yield then
def tree_lines(x):
if type(x) is tuple:
if len(x) == 1:
# singular tuple
for p, l in izip(first_then('--', ' '), tree_lines(x[0])):
yield p + l
else:
first, rest, last = x[0], x[1:-1], x[-1]
# first entry
for p, l in izip(first_then('T-', '| '), tree_lines(first)):
yield p + l
# middle entries
for y in rest:
for p, l in izip(first_then('>-', '| '), tree_lines(y)):
yield p + l
# last entries
for p, l in izip(first_then('L-', ' '), tree_lines(last)):
yield p + l
else:
yield str(x)
x = ((('A','B'),('C','D')),'E')
for l in tree_lines(x):
print(l)
关于python - 分层树 : (((A, B),(C,D)),E) 的视觉替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22641553/
我是一名优秀的程序员,十分优秀!