在一个解释器中获取TypeError(元组赋值),而不是另一个解释器

问题描述 投票:0回答:1

我有一个奇怪的问题,我无法解释。我在笔记本电脑上的PyCharms中编写了一些代码,并对其进行了彻底的测试(我想)。我现在已经迁移到Ubuntu环境,设置我的virtualenv,安装我的模块,并开始测试......

在PyCharms和Ubuntu中进行相同的测试,我得到两个单独的结果,我无法解释。我需要Ubuntu版本才能工作,但是当PyCharms和那里的解释器一直不关心时,我无法理解为什么它不喜欢我的元组任务。

Ubuntu环境:使用Python 3.6.5 Windows 10环境:使用Python 3.6.5(通过Python下载)

我的脚本在这里失败:

if something[7] is None:
    something[7] = "N/A"

来自Ubuntu的错误:

[2018-09-13 19:49:28,706] ERROR [__main__.main:445] Problem occurred. Please see log!
  Traceback (most recent call last):
    File "script.py", line 320, in main
      something[7] = "N/A"
TypeError: 'tuple' object does not support item assignment

这是PyCharm的解释器在没有问题的情况下修改的实际元组。我可以在调试中看到这个:

('Val', 'Val', 'Val', 'Val', 'Val', 'Val', 'Val', 'N/A', 'Val', None, None, None, None, None, None)

有任何想法吗?

python-3.x ubuntu pycharm tuples ubuntu-16.04
1个回答
1
投票

您不能将项目分配给元组,但是,您可以附加到元组。元组是不可变的。

有关元组的更多详细信息,请参阅Python Documentation。对于您的用例,似乎list将是更好的数据类型。

© www.soinside.com 2019 - 2024. All rights reserved.