Как связать массив целых чисел с массивом строк в коде? - PullRequest
0 голосов
/ 25 февраля 2020

Я новичок Python, который начинает знакомиться с библиотекой pym c. В моей программе я генерирую случайные числа от 1 до 100. Когда я генерирую случайные переменные, он, очевидно, возвращает массив с целыми числами (в данном случае массив 10 int):

customer_names = customer_names.random(size=10)

История в этой статье я хочу связать каждую переменную int с указанным c именем через таблицу, как если бы у каждого имени был идентификатор, но я не знаю, как реализовать это в коде.

Что я хочу, так это то, что когда я 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) 

, но без результат.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 25 февраля 2020

Предполагается, что "безрезультатно" вы получаете оператор else .

Это потому, что при использовании if nc[i] == '1' вы сравниваете class 'int' с class 'str' , который никогда не будет совпадать. Попробуйте следующий код:

if nc[i] == 1:
            return 'ANTONIO' 

В качестве альтернативы здесь лучше использовать словарь (ключ-значение).

0 голосов
/ 25 февраля 2020
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)
0 голосов
/ 25 февраля 2020

Используйте словарь (пара ключ-значение), чтобы хранить переменные следующим образом:

variables = {1: 'ANTONIO', 2: 'MARIA CARMEN'}

И обращаться к нему так:

customer_names = list(variables.values()))
print(customer_names)

Вывод:

['ANTONIO', 'MARIA CARMEN']
...