我是Python新手。我正在尝试获取NoneType值列表以创建子图(plotly库)。需要以下设置才能创建具有不同规格的子图:
fig = tools.make_subplots(rows=2, cols=3, specs=[ [{'colspan':3}, None, None],
map(lambda x: {}, ew) ],
shared_xaxes=False, shared_yaxes=False,
start_cell='top-left', print_grid=False)
因此,根据列表“ew”中的值,需要一个Nonetype值列表。列表中的值可能会有所不同,因此非类型列表也应该有所不同。
解决方案:字符串列表,列表理解:
lst =', '.join([str(None) for ticker in ew])
问题:字符串 - 可能转换为Nonetype吗?
解决方案:为ew中的每个值插入None的Lambda函数。
map(lambda x: None, ew)
问题:列表的括号。无法摆脱它们。
我正在寻找的解决方案:
print(lst)
None, None
<type 'NoneType'>
这样:
fig = tools.make_subplots(rows=2, cols=3, specs=[ [{'colspan':3}, lst],
map(lambda x: {}, ew) ],
shared_xaxes=False, shared_yaxes=False,
start_cell='top-left', print_grid=False)
有没有办法获得这样的清单?或者是嵌入式功能的更好解决方案?
修改 因为将以下'lst'插入fig:
仍然存在错误lst = print(*map(lambda x: None, ew), sep= ', ') #returns None, None
print('{lst}'.format(**locals())) #returns only None
- &GT;这是一个可能的解释吗?
答案 0 :(得分:2)
您可以稍后创建一个列表,然后删除括号。
clearColor
你可以在没有括号的情况下打印它:
a = [None, None, None, None, None] # an example of a list you might want
答案 1 :(得分:1)
如果您正在使用Python 3.x,即使包含NoneType数据,您也可以尝试使用此列表打印不带括号的列表:
print (*lst, sep=', ') #lst = [None, None]
应输出:
None, None
如果您使用的是Python 2.x,也可以使用from __future__ import print_function
答案 2 :(得分:0)
找到我的问题的答案: 首先用字典制作一个完整的列表。
tr = []
for ticker in ew:
if ew.index(ticker) ==0:
tr.append({'colspan': len(ew)})
else:
tr.append(None)
进入图:
fig = tools.make_subplots(rows=2, cols=3, specs=[ tr, map(lambda x: {},ew)],
shared_xaxes=False, shared_yaxes=False,
start_cell='top-left', print_grid=False)
欢迎更多的pythonic解决方案。