我是一名Python初学者,他开始熟悉pymc库。在我的程序中,我正在生成1到100之间的随机数。当我在生成随机变量时,它显然返回一个带有整数的数组(在本例中为10 int数组):
customer_names = customer_names.random(size=10)
这篇文章的历史是我想通过一个表将每个int变量与一个特定名称相关联,就好像每个名称都有一个标识符,但我不知道如何在代码中实现它。
我想要的是,当我print(customer_names)
而不是获得数组[ 54 2 45 75 22 19 16 34 67 88]
时,我想要获得[ Jose Maria Carmen Alejandro Davinia Eduardo Carlos Fátima Marc Mireia]
。
我尝试了以下操作:
def identificar_nombres(nc = customer_names):
for i in range (0, 9): #in this case 9 because I'm generating 10 random numbers
if nc[i] == '1':
return 'ANTONIO'
elif nc[i] == '2':
return 'MARIA CARMEN'
else: return nc[i] # process repeatedly with all names in the name dataset
nombres = identificar_nombres(customer_names)
但没有结果。
谢谢!
使用字典(键/值对)来存储变量,如下所示:
variables = {1: 'ANTONIO', 2: 'MARIA CARMEN'}
并像这样访问它:
customer_names = list(variables.values()))
print(customer_names)
输出:
['ANTONIO', 'MARIA CARMEN']
通过“没有结果”,我假设您正在获得else语句。
这是因为使用if nc[i] == '1'
,您正在将class'int'与class'str'比较,这将永远不会匹配。尝试以下代码:
if nc[i] == 1:
return 'ANTONIO'
或者,在这里使用字典(键值)将是更好的方法。
def identificar_nombres(customer_names):
customerlist = []
for i in customer_names:
if customer_names[i] == 1:
customerlist.append("ANTONIO")
elif customer_names[i] == 2:
customerlist.append("MARIA")
return customerlist
nombres = identificar_nombres(customer_names)
print(nombres)