在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]},我通常会键入它以确保我没有犯任何愚蠢的语法错误,但这次当然没有。