如何合并我的代码以使一个变量针对每个输入进行更改?

时间:2017-12-05 19:04:06

标签: python

我正在构建一个程序,该程序将针对给定的工作采用不同候选人的技能组合,并检查他们是否具备所需技能。我已经想出了如何使这项工作,但我不知道怎么做而不写#" candidate1"," candidate2"有更有效的方法吗?:

list_of_qualities = ['Experience in Cold Calling', 'Experience in Door to 
Door Sales', 'Experience in Account Management','Experience in Warm Leads','Experience in Presenting', 'Experience in Negotiation',\'Experience in Leadership', 'Experience in Closing']

cold_calling = list_of_qualities[0]
door_to_door = list_of_qualities[1]
account_management = list_of_qualities[2]
warm_leads = list_of_qualities[3]
presenting = list_of_qualities[4]
negotiation = list_of_qualities[5]
leadership = list_of_qualities[6]
closing = list_of_qualities[7]

required_qualities = [cold_calling, presenting, account_management, leadership, closing]
candidate1 = [cold_calling, presenting, account_management, leadership, closing, door_to_door]
candidate2 = [cold_calling, warm_leads, account_management, leadership]
candidate3 = [cold_calling, account_management]
matched_qualities1 = []
matched_qualities2 = []
matched_qualities3 = []
lacking_qualities1 = []
lacking_qualities2 = []
lacking_qualities3 = []

print("To view and apply for your job, candidates must have the following skillset:")
print(required_qualities)
print(" ")
print("The candidates have the following matching skills:")

候选人1

for i in candidate1:
    if i in required_qualities:
        matched_qualities1.append(i)
print("Candidate 1:", matched_qualities1)

for i in required_qualities:
    if i not in candidate1:
        lacking_qualities1.append(i)

检查候选人1是否具备所有技能

if len(lacking_qualities1) == 0:
    print("             This candidate has all of the required skills")
else:
    print("    lacking:", lacking_qualities1)

1 个答案:

答案 0 :(得分:1)

有几种选择。您可以拥有列表或数据框列表。数组也是一种选择,但不是很合适。其他一些简化代码的方法:

您可以执行cold_calling,door_to_door,account_management,warm_leads,presenting,negotiation, leadership,closing = list_of_qualities

此外,您可以使用lacking_qualities1=[quality in required_qualities if not quality in candidate1]

替换for循环

如果您创建候选人列表,则可以

lacking_qualities_list_of_list=[
       [quality in required_qualities if not quality in candidate]
       for candidate in list_of_candidates]