Вам нужно как-то определить ключ или «имя», которое связано с каждым списком в вашем диктанте. Использование имени переменной не очень хорошая идея, так как это всего лишь ссылка на каждый объект списка. Однако это возможно, но крайне не рекомендуется. Смотрите здесь .
Если количество списков не очень велико, вы можете просто определить свой диктант напрямую:
names = ['Mimi', 'Monique', 'Derick', 'Pierre', 'Sara', 'Marti', 'Isabel', 'Elicia', 'Dani', 'Bell']
surnames = ['Perez', 'Gomez', 'Sanchez', 'Iglesias', 'Casado', 'Mata', 'Li', 'Perez', 'Li', 'Gomez']
email = [names[i] + '_' + surnames[i] + '@email.com' for i in range(len(names))]
salary = [16000, 15000, 16000, 15000, 15000, 16000, 16000, 15000, 16000, 17000]
gender = ['F', 'F', 'M', 'M', 'F', 'M', 'F', 'F', 'M', 'F']
age = [31, 33, 30, 31, 34, 34, 31, 31, 32, 30]
my_data = {
"names": names,
"surnames": surnames,
"email": email,
"salary": salary,
"gender": gender,
"age": age,
}
# Or simply define the lists inside the dictionary
my_data = {
"names": ['Mimi', 'Monique', 'Derick', 'Pierre', 'Sara', 'Marti', 'Isabel', 'Elicia', 'Dani', 'Bell'],
"surnames": ['Perez', 'Gomez', 'Sanchez', 'Iglesias', 'Casado', 'Mata', 'Li', 'Perez', 'Li', 'Gomez'],
"salary": [16000, 15000, 16000, 15000, 15000, 16000, 16000, 15000, 16000, 17000],
"gender": ['F', 'F', 'M', 'M', 'F', 'M', 'F', 'F', 'M', 'F'],
"age": [31, 33, 30, 31, 34, 34, 31, 31, 32, 30],
}
# Email depends on the size of the other lists, so we add it afterwards
my_data["email"] = [
names[i] + "_" + surnames[i] + "@email.com" for i in range(len(my_data["names"]))
]
Это то, что вы на самом деле пытаетесь сделать? Или вы хотите, чтобы список диктовок сохранял каждого сотрудника, чтобы вы могли получить к ним доступ, например employee[0]['name']
-> 'Mimi', et c.?
Если количество списков велико, я бы порекомендовал второй подход, так как структура понятна из кода, и вам не нужно повторять имена списков и, следовательно, иметь самый чистый DRYest и самый короткий код.
my_data = {}
my_data["names"] = ['Mimi', 'Monique', 'Derick', 'Pierre', 'Sara', 'Marti', 'Isabel', 'Elicia', 'Dani', 'Bell']
my_data["surnames"] = ['Perez', 'Gomez', 'Sanchez', 'Iglesias', 'Casado', 'Mata', 'Li', 'Perez', 'Li', 'Gomez']
my_data["salary"] = [16000, 15000, 16000, 15000, 15000, 16000, 16000, 15000, 16000, 17000]
my_data["gender"] = ['F', 'F', 'M', 'M', 'F', 'M', 'F', 'F', 'M', 'F']
my_data["age"] = [31, 33, 30, 31, 34, 34, 31, 31, 32, 30]
my_data["email"] = [
my_data["names"][i] + "_" + my_data["surnames"][i] + "@email.com" for i in range(len(my_data["names"]))
]
import pandas
df = pandas.DataFrame.from_dict(my_data)