繁体   English   中英

将索引添加到python中的列表列表

[英]Adding an index to a list of a lists in python

我有一个这样的列表列表: -

x=[['A','B','C','D'],['E','F','G','H']]

我想在列表中添加一个索引,如下所示: -

y=[[0,'A','B','C','D'],[1,'E','F','G','H']]

有没有办法实现这个目标?

y = [[i]+a for i,a in enumerate(x)]

使用enumerateinsert

x = [['A','B','C','D'],['E','F','G','H']]
y = []

for index, li in enumerate(x):
    li_copy = li[:]
    li_copy.insert(0, index)
    y.append(li_copy)

print(y)
#  [[0, 'A', 'B', 'C', 'D'], [1, 'E', 'F', 'G', 'H']]

或者如果你不介意覆盖x

x = [['A','B','C','D'],['E','F','G','H']]

for index, li in enumerate(x):
    li.insert(0, index)  

print(x)
#  [[0, 'A', 'B', 'C', 'D'], [1, 'E', 'F', 'G', 'H']]

如果您正在寻找一个实现此功能的简单功能,请尝试以下操作:

def add_index(itemList):
    i = 0
    setOfLists = []
    for x in itemList:
       set_of_lists.append([i] + x) 
       i +=1
    return setOfLists

也可以使用collections.deqeue

from collections import deque

lst = [['A','B','C','D'],['E','F','G','H']]

result = []
for i, l in enumerate(lst):
    q = deque(l)
    q.appendleft(i)
    result.append(list(q))

print(result)

哪些输出:

[[0, 'A', 'B', 'C', 'D'], [1, 'E', 'F', 'G', 'H']]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM