繁体   English   中英

提取列表中名称的前两个字符并串联成字符串?

[英]Extract the first two characters of names in a list and concatenating into a string?

我有一个清单

names = ['John', 'Ralph', 'Frank', 'Luke', 'David', 'Helen', 'Chloe', 'Sophia']

我想将前两个字母合并在一起,例如:

JoRaFrLuDaHeChSo

我发现下面的代码完成了类似的工作,并添加了[:2]以获取前两个字母,但是它不起作用。

print("".join([str(x) for x in names[:2]))

您将切片放在错误的位置。 另外,名称已经是字符串,您不需要str()

print("".join([x[:2] for x in names]))

您快到了,列表切片需要在字符串上完成,而不是原始列表。

my_string = "".join([x[:2] for x in names])

如果愿意,也可以使用qvoid语法:

names = ['John', 'Ralph', 'Frank', 'Luke', 'David', 'Helen', 'Chloe', 'Sophia']

# import the needed standard functions
from itertools import islice, repeat, chain

# take 2 initial characters of each string
prefixes = map(islice, names, repeat(2))

# chain prefixes
concatenated = chain.from_iterable(prefixes)

# join to one string
result = ''.join(concatenated)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM