Python 在列表中写入元组,而不是在另一个lst中写入元组

Python 在列表中写入元组,而不是在另一个lst中写入元组,python,string,list,Python,String,List,我正在运行下面的代码,除了列表中的一个列表外,它不起作用。我希望我的结果是列表中的元组,如括号中的元组。我试着写括号而不是[],但是我遇到了一个语法错误 import xlrd loc= (r"C:\Users\USER\Documents\MATLAB/results.xlsx") book = xlrd.open_workbook(loc) trans_agg= [[sheet.cell_value(r, c) for c in range (1,4)]for r in range(1

我正在运行下面的代码,除了列表中的一个列表外,它不起作用。我希望我的结果是列表中的元组,如括号中的元组。我试着写括号而不是[],但是我遇到了一个语法错误

import xlrd

loc= (r"C:\Users\USER\Documents\MATLAB/results.xlsx")

book = xlrd.open_workbook(loc)

trans_agg= [[sheet.cell_value(r, c) for c in range (1,4)]for r in range(1,sheet.nrows)];

print (trans_agg)
我得到的结果

[[-38.9681738617398, 35.220378959142636, 5.072061633983768], [0.3058390201478544, -32.91896886230741, 5.0755459371576075], [0.16656016242917882, 37.047877143990405, 5.08026752912042]]
我真正想要的

[(-38.9681738617398, 35.220378959142636, 5.072061633983768), (0.3058390201478544, -32.91896886230741, 5.0755459371576075), (0.16656016242917882, 37.047877143990405, 5.08026752912042)]

您必须在列表中替换调用函数元组的方括号

trans_agg= [tuple(sheet.cell_value(r, c) for c in range (1,4))
            for r in range(1, sheet.nrows)]

当我这样写的时候,这就是给我的;[,]Python没有元组理解;您需要显式调用
元组(范围(1,4)内c的sheet.cell\u值(r,c))