#小练习 合并首字母相同的男孩、女孩姓名 (最终版) 分类: python 小练习 2013-11-25 16:52 283人阅读 评论(0) 收藏

版本一:
#coding:utf-8

#合并首字母相同的姓名,并以字典形式返回

girls=['bernice','clarice','Amazon','June','alice']
boys=['chris','arnold','bob','Davide']


#合并列表
stu=girls+boys
'''
如果两个列表中含有共同元素,则使用for循环变量,append元素
for i in boys:
    if i not in girls:
        girls.append(i)
'''

#定义返回的字典
d={}

def main():

    for name in stu:
        if name[0].lower() in d:
            d[name[0].lower()]+='-'+name
        else:
            d[name[0].lower()]=name

    print d  #{'a': 'Amazon-alice-arnold', 'c': 'clarice-chris', 'b': 'bernice-bob', 'd': 'Davide', 'j': 'June'}

if __name__ == '__main__':
    main()


版本二:

#字典的值以列表形式返回

#coding:utf-8

girls=['alice','bernice','clarice','Amazon','June']
boys=['chris','arnold','bob','Davide']

#合并列表
stu=girls+boys

d={}

def main():

    for name in stu:
        if name[0].lower() in d:
            d[name[0].lower()].append(name)
        else:
            d[name[0].lower()]=[name]

    print d # {'a': ['alice', 'Amazon', 'arnold'], 'c': ['clarice', 'chris'], 'b': ['bernice', 'bob'], 'd': ['Davide'], 'j': ['June']}

if __name__ == '__main__':
    main()

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2013-11-25 16:52  前行者2011  阅读(157)  评论(0编辑  收藏  举报