当某个字符出现时,如何从列表中创建嵌套列表?



我有一个列表:

my=['A', 'kk','lo','A','o','t','A','t']

当列表

中有'A'

时,我想创建一个嵌套列表示例输出:

my_nest=[['A', 'kk','lo'],['A','o','t'],['A','t']]

我试着这样做,但不确定如何使它工作:

my_nest=[]
my_nest_sub=[]
for i in my:
if i!='A':
my_nest_sub.append(i)
elif i=='A':
my_nest.append(my_nest_sub)
my_nest_sub=[]

你的循环逻辑是关闭的,修复它尝试这样做:

my_nest=[]
my_nest_sub=[]
for i in my:
if i=='A':
if my_nest_sub:
my_nest.append(my_nest_sub)
my_nest_sub=[]
my_nest_sub.append(i)
my_nest.append(my_nest_sub)

例如,如果您希望'A'在您的my_nest子列表中,为什么您从不在'A'时附加i?

正如Prune所说,下次尝试插入一些print函数,以更好地理解您的代码实际做了什么。

最新更新