python - 尝试在 python 中定义一系列数字变量时出现语法错误

标签 python variables syntax

我需要将一系列变量定义为零,然后在程序的其余部分计算大量不同情况的实例时更新它们。

我不知道为什么我不能像下面那样设置它,但无论我把这个结构放在哪里,IDLE 都会说有语法错误并突出显示 2bktools 的第一个实例>.

import os
import csv

os.chdir('/Users/me/Desktop/SubjError')
for subject in ['100307', '100408', '101107', '101309', '101915']:

    2bktools = 0
    0bkbody = 0
    2bkfaces = 0
    0bktools = 0
    2bkbody = 0
    2bkplaces = 0
    0bkfaces = 0
    0bkplaces = 0
    #counts and updates instances of each variable

我认为一定有一种更有效的方法可以将一系列变量设置为零,但我不知道它会是什么。

最佳答案

变量名在 Python 中不能以数字开头。

无论如何,对于您的用例,我认为嵌套的 dict 会很有用:

from pprint import pprint

subjects = ['100307', '100408', '101107', '101309', '101915']
keys = ['2bktools', '0bkbody', '2bkfaces', '0bktools', '2bkbody', '2bkplaces', '0bkfaces', '0bkplaces']

data = {subject: {key: 0 for key in keys} for subject in subjects}

pprint(data)

输出:

{'100307': {'0bkbody': 0,
            '0bkfaces': 0,
            '0bkplaces': 0,
            '0bktools': 0,
            '2bkbody': 0,
            '2bkfaces': 0,
            '2bkplaces': 0,
            '2bktools': 0},
 '100408': {'0bkbody': 0,
            '0bkfaces': 0,
            '0bkplaces': 0,
            '0bktools': 0,
            '2bkbody': 0,
            '2bkfaces': 0,
            '2bkplaces': 0,
            '2bktools': 0},
... more of the same...

然后您可以使用标准索引语法访问您想要的任何属性;例如,data['100307']['2bktools']

关于python - 尝试在 python 中定义一系列数字变量时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55896749/

相关文章:

r - R 中关于 ddply 的语法

Scala 方法中变量名不明确

string - 如何打破Lua中的代码行

python - Spark 流。从 Kafka 并行读取导致重复数据

python - 如何使用 Paramiko 获取 SSH 返回码?

C++ 位掩码 72 位变量并切断前导和尾随零 - 请帮忙

javascript - hasClass 没有发挥应有的作用

ruby - 没有目标对象的 case 表达式 : should it be used?

python - 在python中调整图像大小算法

python - 从数据框中的多列列表中获取元素