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

时间:2012-01-04 23:57:04

标签: python dictionary input

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

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

['first@google.com', 'second@google.com', 'third@google.com']

我目前的代码:

mailinputs = raw_input('Enter all mails with comma: ')
receivers = [mailinputs]

如果输入:

'first@google.com', 'second@google.com', 'third@google.com'

出现错误:

Probe failed: Illegal envelope To: address (invalid domain name):

否则,如果输入:

first@google.com, second@google.com, third@google.com

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

我该怎么办?

1 个答案:

答案 0 :(得分:7)

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

>>> 'first@google.com,second@google.com,third@google.com'.split(',')
['first@google.com', 'second@google.com', 'third@google.com']

所以在你的例子中:

mailinputs = raw_input('Enter all mails with comma: ')
receivers = mailinputs.split(',')

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

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