[英]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.