我有一系列的清单-基本上
[ [[val1, val2...], [val3, val4...]...], [[val5, val6...], [val7, val8...]...], ...]
在python上,打印得很漂亮,输出如下所示:
[[['a',
'b',
'c',
'test1',
'd',
'e',
'f',
'g'],
['h',
'i',
'j',
'k',
'l',
'm']],
[['n',
'o',
'p',
'test2',
'q',
'r',
's',
't'],
['u',
'v',
'w',
'x',
'y',
'z']]]
如何将test1和test2作为两个单独的项放入列表中:
[ ['test1'], ['test2'] ]
这看起来很简单,但我不确定如何使用列表理解或遍历列表来获得它,因为有些值包含8个实体,有些值包含6个实体。你知道吗
或者
首先试着把它用英语表达,然后翻译成Python。你知道吗
prof-name
。你知道吗其中每一个都很容易翻译成Python:
for sublst in lst
。你知道吗sublst[0]
。你知道吗sublst[0][3]
。你知道吗把它放在一起:
英文描述适用于您的示例,因此代码适用于您的示例。如果这不是一套合适的规则,那就提出一套不同的规则,它们同样容易翻译。你知道吗
例如,也许你不想要第四个,你想要那些以
prof-
开头的?你知道吗在这种情况下:
Prof-
开头的子列表的每个元素。你知道吗最后一个有点棘手,我们不能只做
element.startswith('Prof-')
,因为有些元素是整数。我们来写一个函数:现在:
for sublst in lst
sublst[0]
for element in sublst[0] if prof(element)
综合起来:
但也许那太密集了。一旦你在一个理解中有了三个分句,就很难推理了。也许我们应该先把它展平,然后过滤:
稍微长一点,但希望更容易理解。你知道吗
具体来说:
这将生成一个请求列表(包含在
newlist
)和一个字典(prof_dict
),以便您可以以一种非常简单的方式确定您的教授名字出现在列表中的什么位置,以备需要。你知道吗相关问题 更多 >
编程相关推荐