【问题标题】:How can I print the first name? [duplicate]如何打印名字?
【发布时间】:2021-12-29 03:49:28
【问题描述】:
name = ['Marina Allison', 'Markus Valdez', 'Connie Ballard', 'Darnell Weber', 'Sylvie Charles', 'Vinay Padilla', 'Meredith Santiago', 'Andre Mccarty', 'Lorena Hodson', 'Isaac Vu']

# how can I get the first name for ex. Marina 

Name 是随机名称的列表。 我试过用 .join() 加入它

【问题讨论】:

标签: python


【解决方案1】:

这样试试:

name = ['Marina Allison', 'Markus Valdez', 'Connie Ballard', 'Darnell Weber', 'Sylvie Charles', 'Vinay Padilla', 'Meredith Santiago', 'Andre Mccarty', 'Lorena Hodson', 'Isaac Vu']

for i in name:
    print(i.split(' ')[0])

【讨论】:

  • @Aaron Merchant 如果对您有帮助,您能否接受答案。谢谢
  • 是的,根据网站,我可以在 8 分钟内接受,我是 python 新手,非常感谢您的帮助
【解决方案2】:

您的问题有些模棱两可,所以我会为我认为最明显的解释提供答案。

首先,给定一个全名字符串name = "First Last",我会推荐这些方法来获取字符串的First 部分:

  1. 找到空格并拼接字符串。这可以说是最有效的方法。
first_name = name[:name.find(" ")]

在 Python 中,字符串是字符列表。 name.find(" ") 返回" " 第一次出现的索引。使用这个索引,我们拼接字符串并且只取空格前面的字符。

  1. 在空格处分割并选择第一个元素。
first_name = name.split()[0]   # split at whitespace, take first element

split() 在没有指定输入参数的情况下拆分所有空格,包括空格、换行符、回车符等,并返回由每个空格字符分隔的元素列表。这比第一个解决方案效率低,但更简洁。

现在,要将其应用于整个 name 列表以获得仅包含名字的列表,我提供以下两个代码 sn-ps:

首先,更直接的方法

first_names = []
for elem in name:
    first_names.append(elem[:elem.find(" ")])

接下来,使用函数式编程工具

first_names = list(map(lambda x: x[:x.find(" ")], name))

要打印其中任何一个的结果:

print("\n".join(first_names))

for x in first_names:
    print(x)

【讨论】:

    【解决方案3】:

    使用列表推导,可以将名字作为列表:

    [x.split()[0] for x in name] o/p: ['码头', “马库斯”, “康妮”, “达内尔”, '西尔维', '维奈', '梅雷迪思', “安德烈”, '洛雷娜', '艾萨克']

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2010-10-19
    • 2023-03-18
    • 2015-12-31
    相关资源
    最近更新 更多