有没有办法按输入提示制作Python列表?

brc*_*.sw 0 python dictionary input

我正在创建一个Python邮件列表,但我在函数结束时遇到了问题.

问题是,List必须是这样的:

['first@google.com', 'second@google.com', 'third@google.com']
Run Code Online (Sandbox Code Playgroud)

我目前的代码:

mailinputs = raw_input('Enter all mails with comma: ')
receivers = [mailinputs]
Run Code Online (Sandbox Code Playgroud)

如果输入:

'first@google.com', 'second@google.com', 'third@google.com'
Run Code Online (Sandbox Code Playgroud)

出现这样的错误:

Probe failed: Illegal envelope To: address (invalid domain name):
Run Code Online (Sandbox Code Playgroud)

否则,如果您输入:

first@google.com, second@google.com, third@google.com
Run Code Online (Sandbox Code Playgroud)

只有first@google.com才会收到邮件.

我该怎么办?

tit*_*ito 7

返回raw_input()是一个字符串.您需要将其拆分为逗号,然后您将获得一个列表:

>>> 'first@google.com,second@google.com,third@google.com'.split(',')
['first@google.com', 'second@google.com', 'third@google.com']
Run Code Online (Sandbox Code Playgroud)

所以在你的例子中:

mailinputs = raw_input('Enter all mails with comma: ')
receivers = mailinputs.split(',')
Run Code Online (Sandbox Code Playgroud)

可以执行另一个步骤来删除每封电子邮件之前/之后的任何空格:

mailinputs = raw_input('Enter all mails with comma: ')
receivers = [x.strip() for x in mailinputs.split(',')]
Run Code Online (Sandbox Code Playgroud)