首页 > 解决方案 > 如何获取列表列表中元素的索引

问题描述

我对 python 很陌生,我正在尝试获取列表列表中元素的索引。我的清单如下:

 Data = [['0', '999.8', '1.78e-3'], ['5', '1000', '1.52e-3'], ['10', '999.7', '1.31e-3'], ['15', '999.1', '1.14e-3'], ['20', '998.2', '1.00e-3'], ['25', '997.0', '0.89e-3'], ['30', '995.7', '0.80e-3'], ['40', '992.2', '0.65e-3']]

我想找到'10'的索引。有我的代码:

    for element in data:
            for e in element:
                index_valeur = e.index('10')
                print(index_valeur)

它似乎不起作用,这是错误消息:

ValueError: substring not found

如何获取值的索引?

标签: pythonindexing

解决方案


Pythonic 最好的方法是使用 Pandas,我的 RAW 尝试;-)

import numpy as np
import pandas as pd
import io
mycsv = '''
T,rho,mu
0,999.8,1.78e-3
5,1000,1.52e-3
10,999.7,1.31e-3
15,999.1,1.14e-3
20,998.2,1.00e-3
25,997.0,0.89e-3
30,995.7,0.80e-3
40,992.2,0.65e-3
'''
myNum = float(input("Enter number: "))
df = pd.read_csv(io.StringIO(mycsv))
print(sorted(df['T'].values.tolist(), key= lambda x:abs(x-myNum))[:2])

推荐阅读