如何根据字符串中的预定义部分拆分列表中字符串的各个部分

请帮我解决以下问题

sample_list = ['Ironman.mdc.googlesuite.net', 'Hulk.nba.abc.googlekey.net',    'Thor.web.gg.hh.googlestream.net', 'Antman.googled.net', 'Loki.media.googlesuite.net','Captain.googlekey.net']

我希望 list1 中前面的所有内容都位于 “googlesuite.net”、“googlekey.net”、“googlestream.net” 和 “googled.net” 之前,另一个列表中的相应前缀为:

result_list1=['Ironman.mdc', 'Hulk.nba.abc', 'Thor.web.gg.hh', 'Antman', 'Loki.media', 'Captain']result_list2=['googlesuite.net', 'googlekey.net', 'googlestream.net', 'googled.net', 'googlesuite.net', 'googlekey.net']


慕无忌1623718
浏览 66回答 3
3回答

侃侃尔雅

您始终可以使用“.”拆分列表中的每个字符串,并获取新列表。在这种情况下,如果您只对第一个拆分感兴趣,则应在 split 方法中使用第二个参数(它告诉发生次数):first_list =[x.split('.')[0] for x in sample_list]对于第二个列表:second_list =[x.split('.',1)[1] for x in sample_list]更好的方法是仅通过sample_list迭代一次并获取两个列表。如下图所示:first_list, second_list = zip(* [x.split('.',1) for x in sample_list])

慕桂英3389331

使用列表理解以及:splitsample_list = ['Ironman.googlesuite.net', 'Hulk.googlekey.net',    'Thor.googlestream.net', 'Antman.googled.net', 'Loki.googlesuite.net',    'Captain.googlekey.net']result_list1 = [i.split('.')[0] for i in sample_list]print(result_list1)这打印:['Ironman', 'Hulk', 'Thor', 'Antman', 'Loki', 'Captain']此策略是为每个输入域仅保留组件,但不包括第一个点分隔符。对于第二个列表,我们可以在这里使用:re.subresult_list2 = [re.sub(r'^[^.]+\.', '', i) for i in sample_list]print(result_list2)这打印:['googlesuite.net', 'googlekey.net', 'googlestream.net', 'googled.net', 'googlesuite.net', 'googlekey.net']

湖上湖

谢谢你的答案,它确实有帮助,但如果我有这样的列表怎么办:sample_list = ['Ironman.mdc.googlesuite.net', 'Hulk.nba.abc.googlekey.net',    'Thor.web.gg.hh.googlestream.net', 'Antman.googled.net', 'Loki.media.googlesuite.net','Captain.googlekey.net']我希望 list1 中前面的所有内容都位于 “googlesuite.net”、“googlekey.net”、“googlestream.net” 和 “googled.net” 之前,另一个列表中的相应前缀为:result_list1=['Ironman.mdc', 'Hulk.nba.abc', 'Thor.web.gg.hh', 'Antman', 'Loki.media', 'Captain']result_list2=['googlesuite.net', 'googlekey.net', 'googlestream.net', 'googled.net', 'googlesuite.net', 'googlekey.net']
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python