从列表中提取列表

2024-04-25 22:23:58 发布

您现在位置:Python中文网/ 问答频道 /正文

目前,我有一个包含以下内容的列表:

lst = [['abc','def'],['efg','hjk']]

我想将列表中的每个元素提取到它自己的单独列表中,并在前面添加索引,以生成以下输出:

lst = [[1,'abc'],[1,'def'],[2,'efg'],[2,'hjk']]

我试过一种方法:

for ind,val in enumerate(lst):
    print(ind+1,val)

但我得到了:

1 ['abc','def']
2 ['efg','hjk']

非常感谢您的帮助。你知道吗


Tags: 方法in元素列表fordefvalabc
3条回答

你可以这样做:

new_lst = [[idx, val] for idx, i in enumerate(lst,1) for val in i]

# [[1, 'abc'], [1, 'def'], [2, 'efg'], [2, 'hjk']]

或者,如果您喜欢嵌套循环的语法:

new_list = []

for idx, i in enumerate(lst,1):
    for val in i:
        new_list.append([idx,val])

试试这个:

lst = [['abc','def'],['efg','hjk']]
new_list =[]

lenght_list = len(lst)
counter = 0

while counter < lenght_list:
    for elem in lst[counter]:
        new_list.append([counter+1, elem]) #counter starts from 0
    counter +=1

只需要稍微修改一下。我理解正确,你想以后有一份清单吗?你知道吗

lst2 = []
for ind,val in enumerate(lst):
    for element in val:
        lst2.append([ind+1, element])

相关问题 更多 >