如何接收未知长度的字符串列表

时间:2013-10-15 21:16:55

标签: python csv raw-input

我希望收到一个用户别名列表,以便查找电子邮件。截至目前,我只能使用以下代码执行此操作:

def Lookup(Dict_list):
    user_alias = raw_input("Please enter User Alias: ")
    data = []
    for row in Dict_list:

        #print "row test"
        #print row
        if user_alias in row.values():
            print row


    for row in Dict_list:
        if user_alias == row['_cn6ca']:
                email = row['_chk2m']
                print email
                return email

但是我希望能够让用户输入未知数量的这些别名(可能不超过10个)并存储以一种允许将它们放置在.csv中的方式查找的结果电子邮件

我以为我可以让用户输入一个列表[PaulW,RandomQ,SaraHu等...]或让用户输入所有别名直到完成,在这种情况下他们输入'完成'

如何更改此代码(我猜是使用raw_data命令)来完成此操作?

2 个答案:

答案 0 :(得分:2)

这将接受输入,直到它到达空行(或您定义的任何哨兵)。

#! /usr/bin/python2.7

print 'Please enter one alias per line. Leave blank when finished.'
aliases = [alias for alias in iter (raw_input, '') ]
print (aliases)

答案 1 :(得分:0)

您可以要求用户输入别名列表,用空格分隔,然后拆分字符串:

In [15]: user_aliases = raw_input("Please enter User Aliases: ")
Please enter User Aliases: John Marry Harry

In [16]: for alias in user_aliases.split(): print alias
John
Marry
Harry

In [17]:

如果用户别名中可以包含空格,请让他们使用逗号作为分隔符并将其拆分:user_aliases.split(',')