Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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_Csv - Fatal编程技术网

Python 列表列表,如何使用每个列表中的特定数字进行计算?

Python 列表列表,如何使用每个列表中的特定数字进行计算?,python,list,csv,Python,List,Csv,我有一个功能: def readCSVfile(str1): 此函数获取用户选择并读取的CSV文件。 每个文件都包含一个列表,如下所示: [[1, 1, 2.2, 1.3, 9.6], [1, 2, 2.1, 2.2, 7.6], [1, 3, 2.7, 1.5, 2.2], [2, 1, 3.0, 4.5, 1.5], [2, 2, 3.1, 3.1, 4.0], [2, 3, 2.5, 2.8, 3.0], [3, 1, 1.9, 1.8, 4.5], [3, 2, 1.1, 0.5, 2

我有一个功能:

def readCSVfile(str1):
此函数获取用户选择并读取的CSV文件。 每个文件都包含一个列表,如下所示:

[[1, 1, 2.2, 1.3, 9.6], [1, 2, 2.1, 2.2, 7.6], [1, 3, 2.7, 1.5, 2.2], [2, 1, 3.0, 4.5, 1.5], [2, 2, 3.1, 3.1, 4.0], [2, 3, 2.5, 2.8, 3.0], [3, 1, 1.9, 1.8, 4.5], [3, 2, 1.1, 0.5, 2.3], [3, 3, 3.5, 2.0, 7.5], [4, 1, 2.9, 2.7, 3.2], [4, 2, 4.5, 4.8, 6.5], [4, 3, 1.2, 1.8, 2.7]]
现在,在用户选择了一个文件后,任务是让程序从我的程序生成的每个列表中打印出一些计算结果,但我被卡住了。 例如,假设我想将每个列表中的第三个和第四个数字相乘,我将如何指定

试着做一些像

readCSVfile(str1)[2]
不要工作。
我疯狂地在谷歌上搜索

事情是,目前我唯一需要处理的就是我的readCSVfile(str1)。我没有在代码中写出列表@ErikAngerfistNyström是列表中的子列表还是csv文件中的一行?正如函数所建议的,您似乎以字符串/缓冲区的形式读取了列表中的数据,可以说这不是一个有效的python列表,请尝试将其转换为python列表,然后重试。如果您只对子列表的每个倍数的结果感兴趣,只需使用list CONTRUSION.import ast ast.literal_eval(“[“A”、“B”、“C”、“D”]”)
through map and a lambda as one way:

li = [[1, 1, 2.2, 1.3, 9.6], [1, 2, 2.1, 2.2, 7.6], [1, 3, 2.7, 1.5, 2.2], [2, 1, 3.0, 4.5, 1.5], [2, 2, 3.1, 3.1, 4.0], [2, 3, 2.5, 2.8, 3.0], [3, 1, 1.9, 1.8, 4.5], [3, 2, 1.1, 0.5, 2.3], [3, 3, 3.5, 2.0, 7.5], [4, 1, 2.9, 2.7, 3.2], [4, 2, 4.5, 4.8, 6.5], [4, 3, 1.2, 1.8, 2.7]]

for el in map(lambda x: [x[0], x[1], round(x[2] * x[3],2),x[4]],li):
    print(el)

[1, 1, 2.86, 9.6]
[1, 2, 4.62, 7.6]
[1, 3, 4.05, 2.2]
[2, 1, 13.5, 1.5]
[2, 2, 9.61, 4.0]
[2, 3, 7.0, 3.0]
[3, 1, 3.42, 4.5]
[3, 2, 0.55, 2.3]
[3, 3, 7.0, 7.5]
[4, 1, 7.83, 3.2]
[4, 2, 21.6, 6.5]
[4, 3, 2.16, 2.7]
lst = [ [1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]]

for x in range(len(lst)):
    print(lst[x][2] * lst[x][3])