zoukankan      html  css  js  c++  java
  • #小练习 合并首字母相同的男孩、女孩姓名 (最终版) 分类: 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()
    

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

  • 相关阅读:
    待解决问题集锦
    蓝桥杯--- 历届试题 连号区间数(水题)
    蓝桥杯---历届试题 翻硬币 (水题)
    nyoj 678 最小K个数之和
    hdoj 2 括号配对问题【数组模拟实现+STL实现】
    hdoj 1016 Prime Ring Problem
    nyoj 62 笨小熊
    nyoj 47 过河问题
    nyoj 456 邮票分你一半
    nyoj 171 聪明的kk
  • 原文地址:https://www.cnblogs.com/think1988/p/4628011.html
Copyright © 2011-2022 走看看