Skip to main content
 首页 » 编程设计

Python:在元组列表中插入计数

2025年05月04日16luoye11

我正在尝试在元组列表中插入“计数”(从 0 开始)。我有这样的东西:

list = [(1, 'Cat', 200, 3.2), (4, 'Dog', 204, 4.1), (2, 'Rabbit', 519, 2.0)] 

我希望它是这样的:

list = [(1, 'Cat', 200, 0, 3.2), (4, 'Dog', 204, 1, 4.1), (2, 'Rabbit', 519, 2, 2.0)] 

我试过这样的:

>>> i = 0 
>>> for line in list: 
...     list.insert(-2,i) 
...     i+=1 
...     print list 

但它会在元组之间插入所有计数,这不是我想要的。任何人都可以帮助 Python 初学者解决这个问题吗?谢谢!

请您参考如下方法:

In [11]: lis=[(1, 'Cat', 200, 3.2), (4, 'Dog', 204, 4.1), (2, 'Rabbit', 519, 2.0)] 
 
In [12]: lis=map(list,lis) #convert tuples to list 
 
 
In [13]: lis       #now lis is list of lists instead of list of tuples 
Out[13]:  
[[1, 'Cat', 200, 3.2000000000000002], 
 [4, 'Dog', 204, 4.0999999999999996], 
 [2, 'Rabbit', 519, 2.0]] 
 
#use enumerate() for indexes, no need of manual indexing 
 
In [14]: for i,x in enumerate(lis): 
    x.insert(-1,i)                #insert at -1 not -2 
   ....:      
   ....:      
 
In [15]: lis 
Out[15]:  
[[1, 'Cat', 200, 0, 3.2000000000000002], 
 [4, 'Dog', 204, 1, 4.0999999999999996], 
 [2, 'Rabbit', 519, 2, 2.0]]