Python 如何将列表传递给函数?
我使用Python 如何将列表传递给函数?,python,function,Python,Function,我使用nameparser函数将一列传递给该函数并生成一列 我正在运行这个: from nameparser import HumanName name = HumanName("JONATHON FURBER") name.first 但我不想一个接一个地做,我想做的是一长串的名字。我该怎么办 简短的回答是是的,您可以在python中使用列表调用函数 让我们深入探讨你的问题。我假设您使用的是Python库,它似乎不理解matlab中的向量调用。因此,您可能应该循环查看要分析的名称列表。简短的
nameparser
函数将一列传递给该函数并生成一列
我正在运行这个:
from nameparser import HumanName
name = HumanName("JONATHON FURBER")
name.first
但我不想一个接一个地做,我想做的是一长串的名字。我该怎么办 简短的回答是是的,您可以在python中使用列表调用函数
让我们深入探讨你的问题。我假设您使用的是Python库,它似乎不理解matlab中的向量调用。因此,您可能应该循环查看要分析的名称列表。简短的回答是是的,您可以在python中使用列表调用函数 让我们深入探讨你的问题。我假设您使用的是Python库,它似乎不理解matlab中的向量调用。因此,您可能应该循环查看要分析的姓名列表。使用nameparser(),您可以声明一个人员列表,并循环通过这些人员将每个人传递到nameparser.HumanName并打印出他们的名字:
from nameparser import HumanName
people = ["JONATHON FURBER",
"Dr. Juan Q. Xavier de la Vega III (Doc Vega)"
]
for person in people:
name = HumanName(person)
print(name.first)
返回:
JONATHON
Juan
['JONATHON', 'Juan']
[('JONATHON', 'JONATHON FURBER'),
('Juan', 'Dr. Juan Q. Xavier de la Vega III (Doc Vega)')]
或者,您最好将所有的名字存储为一个列表。这可以通过列表理解来完成:
from pprint import pprint as pp
first_names = [HumanName(person).first
for person in people
]
pp(first_names)
combined_list = [(fn, person) for fn, person in zip(first_names, people)]
pp(combined_list)
返回:
JONATHON
Juan
['JONATHON', 'Juan']
[('JONATHON', 'JONATHON FURBER'),
('Juan', 'Dr. Juan Q. Xavier de la Vega III (Doc Vega)')]
此外:您在评论中询问了如何组合结果,例如,您可以在元组中使用姓名对人员进行压缩,并将其存储在列表中:
from pprint import pprint as pp
first_names = [HumanName(person).first
for person in people
]
pp(first_names)
combined_list = [(fn, person) for fn, person in zip(first_names, people)]
pp(combined_list)
返回:
JONATHON
Juan
['JONATHON', 'Juan']
[('JONATHON', 'JONATHON FURBER'),
('Juan', 'Dr. Juan Q. Xavier de la Vega III (Doc Vega)')]
将其保存到文件:
with open("people.txt", "w") as wf:
for person in combined_list:
wf.write(person[0] + ', ' + person[1])
使用nameparser(),您可以声明一个人员列表,并通过循环将每个人员传递到nameparser.HumanName并打印出他们的名字:
from nameparser import HumanName
people = ["JONATHON FURBER",
"Dr. Juan Q. Xavier de la Vega III (Doc Vega)"
]
for person in people:
name = HumanName(person)
print(name.first)
返回:
JONATHON
Juan
['JONATHON', 'Juan']
[('JONATHON', 'JONATHON FURBER'),
('Juan', 'Dr. Juan Q. Xavier de la Vega III (Doc Vega)')]
或者,您最好将所有的名字存储为一个列表。这可以通过列表理解来完成:
from pprint import pprint as pp
first_names = [HumanName(person).first
for person in people
]
pp(first_names)
combined_list = [(fn, person) for fn, person in zip(first_names, people)]
pp(combined_list)
返回:
JONATHON
Juan
['JONATHON', 'Juan']
[('JONATHON', 'JONATHON FURBER'),
('Juan', 'Dr. Juan Q. Xavier de la Vega III (Doc Vega)')]
此外:您在评论中询问了如何组合结果,例如,您可以在元组中使用姓名对人员进行压缩,并将其存储在列表中:
from pprint import pprint as pp
first_names = [HumanName(person).first
for person in people
]
pp(first_names)
combined_list = [(fn, person) for fn, person in zip(first_names, people)]
pp(combined_list)
返回:
JONATHON
Juan
['JONATHON', 'Juan']
[('JONATHON', 'JONATHON FURBER'),
('Juan', 'Dr. Juan Q. Xavier de la Vega III (Doc Vega)')]
将其保存到文件:
with open("people.txt", "w") as wf:
for person in combined_list:
wf.write(person[0] + ', ' + person[1])
哪种编程语言?欢迎使用Stackoverflow。您正在使用哪种编程语言?欢迎使用Stackoverflow。你在用吗?谢谢古斯塔夫·拉斯穆森。这太棒了。非常感谢你!!我可以知道我怎样才能回到原来的输入列表并输出它?我很高兴:如果你发现这个答案有用,请考虑把它投票并标记为正确答案。要连接这两个列表,可以使用zip()函数创建一个字典或元组列表。我很高兴听到:)谢谢Gustav Rasmussen。这太棒了。非常感谢你!!我可以知道我怎样才能回到原来的输入列表并输出它?我很高兴:如果你发现这个答案有用,请考虑把它投票并标记为正确答案。要连接这两个列表,可以使用zip()函数创建一个字典或元组列表