在python列表中只保留元素的两部分
我正在寻找python中的一条命令,以便只将在python列表中只保留元素的两部分,python,python-3.x,Python,Python 3.x,我正在寻找python中的一条命令,以便只将content\u content>con\u con 以下是一个例子: list_exp=["Babylona_expetiendra","Ocracylus_machabrus","Ojeris_multifasciatus"] list_exp=["Bab_exp","Ocr_mac","Oje_mul"] 有人有主意吗?感谢您的帮助。您可以使用列表: ['_'.join(map(lambda x: x[:3], x.split('_')))
content\u content>con\u con
以下是一个例子:
list_exp=["Babylona_expetiendra","Ocracylus_machabrus","Ojeris_multifasciatus"]
list_exp=["Bab_exp","Ocr_mac","Oje_mul"]
有人有主意吗?感谢您的帮助。您可以使用列表:
['_'.join(map(lambda x: x[:3], x.split('_'))) for x in list_exp]
代码:
list_exp=["Babylona_expetiendra","Ocracylus_machabrus","Ojeris_multifasciatus"]
print(['_'.join(map(lambda x: x[:3], x.split('_'))) for x in list_exp])
# ['Bab_exp', 'Ocr_mac', 'Oje_mul']
你可以这样试试
在运行所有这些之前,只需快速查看一下列表理解
&join()
,split()
方法在字符串上定义的用法
解释:
首先,我们将通过“u”键拆分列表中的每个字符串
[['Babylona', 'expetiendra'], ['Ocracylus', 'machabrus'], ['Ojeris', 'multifasciatus']]
然后,我们使用[:3]为新列表中的每个字符串获取前3个字母
最后再次使用“u”进行连接。join()
这个例子使用and你能解释一下你是如何得出这个列表的吗!我想开始学习列表理解来解决这些复杂的问题@austin@DeveshKumarSingh,construction在
“
上对每个元素进行拆分,并使用map
从每个拆分中获取前三个字符,最后一个join
将产生预期的输出。你在正常情况下所做的就是总结。没什么特别的。谢谢你的帮助。非常感谢你的帮助。谢谢:)这帮了我的忙。谢谢你@chippycentra。
[
*map(
lambda strip:'_'.join([st[:3] for st in strip]),
[
*map(
lambda s:s.split('_'),
["Babylona_expetiendra","Ocracylus_machabrus","Ojeris_multifasciatus"]
)
]
)
]
[['Babylona', 'expetiendra'], ['Ocracylus', 'machabrus'], ['Ojeris', 'multifasciatus']]
['Bab_exp', 'Ocr_mac', 'Oje_mul']