【问题标题】:Is there a cleaner way to get the first char out of every string in a list in Python?有没有一种更简洁的方法可以从 Python 列表中的每个字符串中获取第一个字符?
【发布时间】:2021-09-30 17:25:46
【问题描述】:

我想知道 Python 中是否有一个单行符可以让我从 Python 中给定列表中的每个字符串中取出第一个字符。我可以使用以下代码完成此任务,但是我希望有一种更简洁的方法来完成它。通过更清洁,我的意思是使用内置函数,或者使用完成与 for 循环相同的事情的单线。请让我知道是否有更清洁的方法以及我是否需要进一步澄清。

names = ['Sally', 'Tom']
firstCharList = []
for name in names:
    firstCharList.append(name[0])
print(firstCharList)

输出:['S', 'T']

【问题讨论】:

  • this 会回答您的问题吗?请注意,同样的想法也适用,因为 str 只是一个字符序列,同样的解决方案在这里有效。
  • @balandongiv 不,因为列表理解是我所缺少的。那里接受的答案仅显示对列表的索引,而不是使用列表理解。
  • Cory 的回答说明了相同的概念并回答了我的问题,尽管新程序员可能不熟悉字符串只是可以索引的字符序列因此可能无法建立连接这一事实他们也可以为此使用列表推导。我已选择 SorousH 的答案作为已接受的答案,并建议保留此答案;但是,我将由社区决定是否应该将其作为副本关闭或留给其他人查找

标签: python string list


【解决方案1】:

列表推导更具可读性。

names = ['Sally', 'Tom']
print([item[0] for item in names])

输出:

['S', 'T']

【讨论】:

    猜你喜欢
    • 2011-10-29
    • 1970-01-01
    • 2014-08-17
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    相关资源
    最近更新 更多