#小练习 合并首字母相同的男孩、女孩姓名 (最终版) 分类: 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()
版权声明:本文为博主原创文章,未经博主允许不得转载。