Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何向列表中添加索引?_Python_List_Indices - Fatal编程技术网

Python 如何向列表中添加索引?

Python 如何向列表中添加索引?,python,list,indices,Python,List,Indices,例如,我有一个列表=['a','b','c'] 我想要的是一个列表索引(list)=[(1,'a'),(2,'b'),(3,'c)] 是否有用于此的内置或模块?您可以通过执行以下操作来枚举它 for i,n in enumerate(list): # where i is the index and n is the value of the list 您可以使用内置函数来实现这一点 In [1]: a = ['a', 'b', 'c'] In [2]: b = [(idx, item) f

例如,我有一个
列表=['a','b','c']

我想要的是一个列表
索引(list)=[(1,'a'),(2,'b'),(3,'c)]


是否有用于此的内置或模块?

您可以通过执行以下操作来枚举它

for i,n in enumerate(list):
# where i is the index and n is the value of the list

您可以使用内置函数来实现这一点

In [1]: a = ['a', 'b', 'c']

In [2]: b = [(idx, item) for idx,item in enumerate(a)]

In [3]: b
Out[3]: [(0, 'a'), (1, 'b'), (2, 'c')]
注意:默认标记将以
0
开头,但您可以尝试添加
start=1
来配置它,例如

In [4]: c = [(idx, item) for idx,item in enumerate(a, start=1)]

In [5]: c
Out[5]: [(1, 'a'), (2, 'b'), (3, 'c')]

希望有帮助。

你可以做类似的事情

indexed_list = [(i + 1, elem) for i, elem in enumerate(your_list)]
我假设你需要索引从1开始。否则,您可以直接对
枚举
结果进行列表理解,而无需在索引中添加1

编辑:根据@pault的建议进行更新,即使用内置参数

indexed_list = [indexed for indexed in enumerate(your_list, 1)]
或者干脆

indexed_list = list(enumerate(your_list, 1))

下面的代码是您想要的:

>l=['a','b','c']
>>>indl=[(i+1,val)表示枚举(l)中的i,val]
>>>因德尔
[(1,'a'),(2,'b'),(3,'c')]
编辑:根据@pault的建议,代码更改如下:

>yourList=['a','b','c']
>>>listInd=[(i,val)表示枚举中的i,val(yourList,1)]
>>>利斯廷德
[(1,'a'),(2,'b'),(3,'c')]
>>> 

您也可以使用enumerate及其开始参数:

l = ['a', 'b', 'c']
indexed_list = list(enumerate(l, 1))
对于名为
索引的函数
,您可以创建一个

注意永远不要替换内置关键字<代码>列表列表就是其中之一


这默认为开始值1。

Python中的索引从
0
开始,而不是
1
。通过使用模块中的内置函数和生成器函数,您可以执行所需操作

如果这是您想要的,还需要显式地将
zip()
的结果转换为a(这就是为什么我将变量的名称更改为
my_list
,以防止它“隐藏”具有相同名称的内置类-这是一件好事):


不清楚您为什么需要这样做,因为您可以在需要索引时使用内置函数获取索引,如许多其他答案所示。

使用列表理解和枚举

[(i,l) for i,l in enumerate(list)]

enumerate
接受一个可选参数,该参数指定要启动的thr索引
enumerate
接受一个可选参数,该参数指定要启动的thr索引。如果需要,使用一个参数来更改启动索引值。可能重复“否”,这是从enumerate()的定义中询问的对于函数本身,而这是对枚举函数的要求。
from itertools import count

my_list = ['a', 'b', 'c']

indexed_my_list = list(zip(count(), my_list))
print(indexed_my_list)  # -> [(0, 'a'), (1, 'b'), (2, 'c')]
[(i,l) for i,l in enumerate(list)]