def create_area_group(sort_area_group):
for area_name in sort_area_group:
areas = '\n[{}]\n'.format(area_name)
return areas
sort_area_group = ['NewYork', 'London', 'Paris', 'Rome']
print(create_area_group(sort_area_group))
仅返回一个字符串。那我怎么提取 列表中的所有字符串?
下面的代码也符合我的预期。 为什么'print'方法可以,而return方法不能呢?
for area_name in sort_area_group:
areas = '\n[{}]\n'.format(area_name)
print(areas)
这是事实。
[NewYork]
[London]
[Paris]
[Rome]
我认为这是一个基本问题,但找不到相同的问题。
答案 0 :(得分:4)
有关更多信息,请参见help(str.join)
def create_area_group(sort_area_group):
return "[" + ']\n\n['.join(sort_area_group) + "]"
答案 1 :(得分:1)
您可以将此功能设置为generator
def create_area_group(sort_area_group):
for area_name in sort_area_group:
yield '[{}]'.format(area_name)
#Then iterate over it:
for area in create_area_group(sort_area_group):
print(area)
或者只使用join
print("[{}]".format(']\n\n['.join(sort_area_group)))
答案 2 :(得分:0)
发生的事情是您在循环的每次迭代中都更改了areas
的值,因此,当您打印create_area_group
的结果时,只有sort_area_group
中的最后一个值会出现现身。