3 回答

TA贡献1993条经验 获得超5个赞
您get_freelancer_titlecase(在获得第一个元素后立即从)返回 。
您需要使用进行存储以列出列表 freelancers_in_titlecase,append并在for循环外结束时返回。
freelancers = ["juan", "andre"] #original list
def get_freelancer_titlecase(): # makes freelancers TitleCased
freelancers_in_titlecase = []
for freelancer in freelancers:
freelancers_in_titlecase.append(freelancer.title())
return freelancers_in_titlecase
def print_freelancers_in_titlecase():#print freelancers in TitleCase
print_freelancers_in_titlecase = get_freelancer_titlecase()
print(print_freelancers_in_titlecase)
freelancer_list = get_freelancer_titlecase() # Place the function inside a variable
print(freelancer_list) # ['Juan', 'Andre']
print(freelancers) # ['juan', 'andre']
print_freelancers_in_titlecase() # This function prints titlecased list.

TA贡献1789条经验 获得超8个赞
您将freelancers_in_titlecase在第一个循环之后返回,此外,您将覆盖该变量。因此,您应该将和变量带入return外部,for loop而append不是替换它们:
def get_freelancer_titlecase(): # makes freelancers TitleCased
freelancers_in_titlecase = []#it is actually a list
for freelancer in freelancers:
freelancers_in_titlecase.append(freelancer.title())
return freelancers_in_titlecase
您可以考虑使用List Comprehensions重写此函数:
def get_freelancer_titlecase():
freelancers_in_titlecase = [freelancer.title() for freelancer in freelancers]
return freelancers_in_titlecase

TA贡献1883条经验 获得超3个赞
问题出在您的get_freelancer_titlecase()职能上。
def get_freelancer_titlecase(): # makes freelancers TitleCased
freelancers_in_titlecase = []#empty dict
for freelancer in freelancers:
freelancers_in_titlecase = freelancer.title()
return freelancers_in_titlecase
此函数执行以下操作:
创建一个名为的空列表(不是字典) freelancers_in_titlecase
循环浏览freelancers列表中的项目。
将空列表替换freelancers_in_titlecase为第一个自由职业者的职务。
返回该值(循环完成之前)。
试试这个吧。
def get_freelancer_titlecase(): # makes freelancers TitleCased
freelancers_in_titlecase = [] #empty list
for freelancer in freelancers:
freelancers_in_titlecase.append(freelancer.title())
return freelancers_in_titlecase
这会将每个自由职业者的标题大小写添加到列表中,并且仅在循环完成后才返回列表。
如果您要更改它以返回一个dict以原始名称为键,标题大小写为值的方式,则可以这样操作:
def get_freelancer_titlecase(): # makes freelancers TitleCased
freelancers_in_titlecase = {} # empty dict
for freelancer in freelancers:
freelancers_in_titlecase[freelancer] = freelancer.title()
return freelancers_in_titlecase
添加回答
举报