如您所愿,我是python的新手,想知道我如何更改列表项的值。我的代码如下。在更改列表项的值之前,它一直运行良好,即data [x] [y] =某物。
Tdata = cursor.fetchall() #Get data from MYSQL database
data = list(Tdata) #Convert into list...not sure if absolutely required
APIData = APIDataList()
MPLlat = 0.0
MPLLon = 0.0
RadiusOI = 15
for i in (range(0,len(data))):
MPLCount = 0
MPLlat = data[i][2]
MPLLon = data[i][3]
MPLCount = CountofbikesnearMPL(MPLlat, MPLLon, RadiusOI)
if MPLCount>0:
data[i][4] = MPLCount #ERROR: here is where the error is kicking in.
#get error "tuple' object does not support
#item assignment"
我真的不知道为什么会这样,并尝试使用谷歌搜索但没有成功。任何帮助将不胜感激。提前致谢。
塞洛
最佳答案
也许使用enumerate
编写它更干净:
for i, elem in enumerate(data):
# MPLCount = 0 - I suppose it is unnecessary since you overwrite the value below
MPLlat = elem[2]
MPLLon = elem[3]
MPLCount = CountofbikesnearMPL(MPLlat, MPLLon, RadiusOI)
if MPLCount > 0:
data[i] = elem[:4] + (MPLCount,) + elem[5:]
您将变量和函数命名为
ThisWay
是有原因的吗?如果没有,那么按照PEP8并将其命名为this_way
会很好。无论如何要保持一致,不要将两种样式混在一起。
关于python - Python-更改列表项的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50412043/