Skip to main content
 首页 » 编程设计

python之Python 中的 "ValueError: list.index(x): x not in list",但它存在

2025年05月04日8lexus

我想使用 Python 从电子邮件地址中提取用户名。我想到的解决方案是将电子邮件地址附加到列表中,找到 @ 符号的索引,然后对列表进行切片,直到找到索引。

我的代码是:

#!/usr/bin/env python<br/> 
email = raw_input("Please enter your e-mail address: ") 
email_list = [] 
email_list.append(email) 
at_symbol_index = email_list.index("@") 
email_username = email_list[0:at_symbol_index] 
print email_username 

但是,每次我运行脚本时,它都会返回错误:

ValueError: list.index(x): x not in list 

我的代码有什么问题?

请您参考如下方法:

这样做的原因是您正在创建一个包含字符串的列表,所以除非输入的字符串是 "@",否则它不在列表中。

要解决这个问题,只需不要将电子邮件地址添加到列表中即可。您可以直接对字符串执行这些操作。

请注意,您可能需要查看 str.split()相反,或者 str.partition :

email_username, _, email_host = email.partition("@")