我有以下代码:从字典创建列表,或只是简单地对它进行排序
import os
import pprint
file_path = input("Please, enter the path to the file: ")
if os.path.exists(file_path):
worker_dict = {}
k = 1
for line in open(file_path,'r'):
split_line = line.split()
worker = 'worker{}'.format(k)
worker_name = '{}_{}'.format(worker, 'name')
worker_yob = '{}_{}'.format(worker, 'yob')
worker_job = '{}_{}'.format(worker, 'job')
worker_salary = '{}_{}'.format(worker, 'salary')
worker_dict[worker_name] = ' '.join(split_line[0:2])
worker_dict[worker_yob] = ' '.join(split_line[2:3])
worker_dict[worker_job] = ' '.join(split_line[3:4])
worker_dict[worker_salary] = ' '.join(split_line[4:5])
k += 1
else:
print('Error: Invalid file path')
文件:
John Snow 1967 CEO 3400$
Adam Brown 1954 engineer 1200$
从worker_dict输出:
{
'worker1_job': 'CEO',
'worker1_name': 'John Snow',
'worker1_salary': '3400$',
'worker1_yob': '1967',
'worker2_job': 'engineer',
'worker2_name': 'Adam Brown',
'worker2_salary': '1200$',
'worker2_yob': '1954',
}
而且我想按工人姓名对数据进行排序,然后按工资排序。所以我的想法是创建一个单独的名单与工资和工人名称进行排序。但是我填写它有问题,也许有一种更优雅的方式来解决我的问题?
用'{'job':'CEO','name':...}来制作一个列表,而不是?您也可以使用类实例来代替字典。 – Ryan