Python:按第一个字符拆分列表的字典比较

时间:2013-09-24 22:30:54

标签: python list dictionary split comparison

这是让我烦恼的练习:

实施将足球运动员名单分成两组的功能partition()。更准确地说,它将一个名字(字符串)列表作为输入,并打印那些名字以A和M之间的字母开头的足球运动员的名字。

>>>partition([''Eleanor'', ''Evelyn'', ''Sammy'', ''Owen'', ''Gavin''])
Eleanor
Evelyn
Gavin
>>>partition([''Xena'', ''Sammy'', ''Gavin''])
>>>

这是我的尝试:

def partition():
    names=[''Eleanor'', ''Evenlyn'', ''Sammy'', ''Owen'', ''Gavin'']
    for name in names:
        if name[0]==''ABCDEFGHIJKLM'':
            print (name)

我知道我在定义这些字母时出错了,但是我打算空白,特别是因为我的教授建议我使用字典比较。有没有办法使用比较来分割名称?

谢谢!

2 个答案:

答案 0 :(得分:2)

name[0] in 'ABCDEFGHIJKLM'

会告诉您角色是否出现在字符串中。

name[0] == 'ABCDEFGHIJKLM'

将单个字母与整个字符串进行比较。

答案 1 :(得分:0)

您可以导入string并使用预定义的大写ASCII字符集,而不必自己完成:

import string
letters_a_to_m = string.ascii_uppercase[:13]
#'ABCDEFGHIJKLM'

if name[0] in letters_a_to_m:
    print(name)