将列表中的子字符串提取到Python中的列表中

Mad*_*dno -1 python

我有一个类似的Python列表:

['user@gmail.com', 'someone@hotmail.com'...]
Run Code Online (Sandbox Code Playgroud)

我只想将@之后的字符串直接提取到另一个列表中,例如:

mylist = ['gmail.com', 'hotmail.com'...]
Run Code Online (Sandbox Code Playgroud)

可能吗?split()似乎不适用于列表。

这是我的尝试:

for x in range(len(mylist)):
  mylist[x].split("@",1)[1]
Run Code Online (Sandbox Code Playgroud)

但这没有给我输出清单。

cal*_*co_ 5

您已接近,请尝试以下小调整:

列表是可迭代的,这意味着它比您认为的更容易使用for循环:

for x in mylist:
  #do something
Run Code Online (Sandbox Code Playgroud)

现在,您要做的事情是1)x'@'2 分割,然后将结果添加到另一个列表。

#In order to add to another list you need to make another list
newlist = []
for x in mylist:
     split_results = x.split('@')
     # Now you have a tuple of the results of your split
     # add the second item to the new list
     newlist.append(split_results[1])
Run Code Online (Sandbox Code Playgroud)

一旦了解了这一点,就可以开始幻想并使用列表理解了:

newlist = [x.split('@')[1] for x in mylist]
Run Code Online (Sandbox Code Playgroud)