Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中随时更改变量名_Python - Fatal编程技术网

在Python中随时更改变量名

在Python中随时更改变量名,python,Python,我的代码中有一小部分需要帮助,我有点生疏了 这里很难解释,但基本上我需要在变量之间切换,这取决于它们的种族等,因为我阅读了每个记录 基本上,我想重命名变量,因为有很多不同类别的变量,年龄,职业,国家,种族等 比如: #(NewRecord[3] will have details of race) if NewRecord[3] = "black" var1 += blackcounter else if NewRecord[3] = "white" var1 += whitecounter`

我的代码中有一小部分需要帮助,我有点生疏了

这里很难解释,但基本上我需要在变量之间切换,这取决于它们的种族等,因为我阅读了每个记录

基本上,我想重命名变量,因为有很多不同类别的变量,年龄,职业,国家,种族等

比如:

#(NewRecord[3] will have details of race)
if NewRecord[3] = "black"
var1 += blackcounter
else if NewRecord[3] = "white"
var1 += whitecounter`
可以是:

for NewRecord[3] = "%s"
var1 += "%s"counter
???我该怎么做

传统信息…:

我正在尝试做的这个项目是一个预测年收入超过5万和低于5万人的项目

whiteCountUnder50
asianCountUnder50
indianCountUnder50
otherCountUnder50
blackCountUnder50

whiteCountOver50
asianCountOver50
indianCountOver50
otherCountOver50
blackCountOver50

#if white
overchance += (whiteCountOver50 / TotalPeopleOver)
underchance += (whiteCountUnder50 / TotalPeopleUnder)
print ("overchance: ", overchance)
print ("underchance: ", underchance)

#if black
overchance += (blackCountOver50 / TotalPeopleOver)
overchance += (blackCountUnder50 / TotalPeopleUnder)
print ("overchance: ", overchance)
print ("underchance: ", underchance)

#if asian
....

#if indian
....

等等。

你可以用字典来解释

container = {}
#inserting arbitrary amount of black people
container["black"] = 254
#inserting arbitrary amount of white people
container["white"] = getWhitePeople()
print(str(container["white"]))
#prints whatever getwhitePeople() returned
container.update(getPairNewCategory())
#getPairNewCategory() returns {nameOfTheCategoryStringOrHash:initialValueInt}
print(str(container[nameOfTheCategoryStringOrHash]))
#prints whatever was in initialValueInt
你想做的基本上就是这样

counter = {}
for entry in NewRecord:
    if entry in counter:
        counter[entry] += 1
    else :
        counter[entry] = 1
但是,实现这一点的最具python风格的方法是:

 from collections import Counter
 c = Counter(NewRecord)
 c["BlackOver50"] = 123123 #whatever the number of BlackOver50 entries in NewRecord

现在还不完全清楚你想在这里做什么,但我想你想要的是一本字典。以下是描述它们的链接:

您可以执行以下操作:

var1 += counter[NewRecord[3]]

希望这能有所帮助。

哎呀,很抱歉,应该是counter[NewRecord[3]]而不是counter{NewRecord[3]},我通常会键入它以确保我没有犯任何愚蠢的语法错误,但这次当然没有。