我有一个列表:
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
函数,以更好地理解您的代码实际做了什么。