python - Python-更改列表项的值

标签 python arrays error-handling

如您所愿,我是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/

相关文章:

python - 让我的代码处理需要很长时间才能完成的后台函数调用

python - 如何使用 Pandas 从 Excel 中只读取可见的工作表?

python - 如何使用 Gitlab CI 提高基于 python 的无服务器框架项目的部署速度

java - Java int[ ] 数组在 JVM 中是如何实现的?

windows - -ErrorAction stop之后,脚本处理不会停止

c - 整数错误C

angularjs - 自定义指令中的错误处理

python - 如何更改 matplotlib(python)中的字体?

mysql - 以原始形式将数据保存在数据库中,并在json中获取结果

java - 检查数字是否在特定序列中