3 回答

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
您始終可以使用“.”拆分列表中的每個(gè)字符串,并獲取新列表。在這種情況下,如果您只對(duì)第一個(gè)拆分感興趣,則應(yīng)在 split 方法中使用第二個(gè)參數(shù)(它告訴發(fā)生次數(shù)):
first_list =[x.split('.')[0] for x in sample_list]
對(duì)于第二個(gè)列表:
second_list =[x.split('.',1)[1] for x in sample_list]
更好的方法是僅通過(guò)sample_list迭代一次并獲取兩個(gè)列表。如下圖所示:
first_list, second_list = zip(* [x.split('.',1) for x in sample_list])

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
使用列表理解以及:split
sample_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']
此策略是為每個(gè)輸入域僅保留組件,但不包括第一個(gè)點(diǎn)分隔符。對(duì)于第二個(gè)列表,我們可以在這里使用:re.sub
result_list2 = [re.sub(r'^[^.]+\.', '', i) for i in sample_list]
print(result_list2)
這打?。?/p>
['googlesuite.net', 'googlekey.net', 'googlestream.net', 'googled.net',
'googlesuite.net', 'googlekey.net']

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
謝謝你的答案,它確實(shí)有幫助,但如果我有這樣的列表怎么辦:
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 中前面的所有內(nèi)容都位于 “googlesuite.net”、“googlekey.net”、“googlestream.net” 和 “googled.net” 之前,另一個(gè)列表中的相應(yīng)前綴為:
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']
添加回答
舉報(bào)