是否可以在 Python 中硬声明一个变量?

Is it possible to hard declare a variable in Python?

我正在尝试在子结构中使用变量。我想这个变量应该是整数数据类型,我想在这里添加一个循环,但我的数据类型是列表,因为它包含多个整数。

INV_match_id = [['3749052'],['3749522']]
from statsbombpy import sb
for x in range(2):
   match=INV_match_id[x]
   match_db = sb.events(match_id=match)
   print(match)

我试图使用另一个变量一个一个地提取数据,但它仍然被声明为列表。每当我给出直接值以“匹配”时,它就会起作用。例如:如果我添加一行 match=12546,则子结构会正确获取值。

接下来我想尝试的是将“匹配”变量声明为整数。任何输入表示赞赏。我是 Python.

的新手

编辑:在此处添加来自@quamrana 的解决方案。 “因此,要回答您最初的问题:是否可以在 Python 中硬声明变量?答案是否定的。python 中的变量只是对对象的引用。对象可以是任何类型想成为。"

你说:" I want to loop and take the numbers one by one."

你是这个意思吗:

for match in INV_match_id:
   match_db = sb.events(match_id=match)

我不知道你想用match_db

做什么

更新:

"that single number is also declared as a list. like this- ['125364']"

嗯,如果 match == ['125364'] 那么这取决于您想要:"125364" 还是 125364。我假设是后者,因为你经常谈论整数:

for match in INV_match_id:
   match = int(match[0])
   match_db = sb.events(match_id=match)

下次更新:

所以你有:INV_match_id = ['3749052','3749522']

这意味着该列表是一个字符串列表,所以代码改为:

for match in INV_match_id:
   match_db = sb.events(match_id=int(match))

您的原始代码是将 match 变成每个数字的数字列表。 (例如match = [1,2,5,3,6,4]

反转更新:

这次我们有:INV_match_id = [['3749052'],['3749522']]

这意味着回到上面我的代码的第二个版本:

for match in INV_match_id:
   match = int(match[0])
   match_db = sb.events(match_id=match)

就这么简单:

from statsbombpy import sb
INV_match_id = [['3749052'],['3749522']]
for e in INV_match_id:
   match_db = sb.events(match_id=e[0])
   print(match_db)

尽管 sub-lists 只包含一个项目,但您有一个列表列表。

match_id 可以是字符串或整数