寻找班级里面名字最长的人 我有一串字符串人名:names=(' Kunpen Ji, Li XIAO, Caron Li,' ' Dongjian SHI, Ji ZHAO, Fia YUAN Y,' ' Wenxue DING, Xiu XU, Haiying WANG, Hai LIN,' ' Jey JIANG, Joson WANG E,' ' Aiyang ZHANG, Haiying MENG,' ' Jack ZHANG E, Chang Zhang, Coron ZHANG') ,我希望能做到下面3点: 问题1:排序,按照姓名A-Z排序 问题2:找出里面姓”ZHANG”有几个 问题3:找出名字里面最长的人

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan names = (' Kunpen Ji, Li XIAO, Caron Li,'
' Dongjian SHI, Ji ZHAO, Fia YUAN Y,'
' Wenxue DING, Xiu XU, Haiying WANG, Hai LIN,'
' Jey JIANG, Joson WANG E,'
' Aiyang ZHANG, Haiying MENG,'
' Jack ZHANG E, Chang Zhang, Coron ZHANG') '''
问题1:排序,按照姓名A-Z排序
问题2:找出里面姓”ZHANG”有几个
问题3:找出名字里面最长的人 # 这里计算的是去掉空格后的。
'''
list_name = names.split(",")
for i in range(len(list_name)):
list_name[i] = list_name[i].lstrip() # 去掉左边的空格
list_name.sort()
print(list_name) # 问题1 list_temp = []
for i in list_name:
if "ZHANG" in i.upper():
list_temp.append(i)
print("姓'ZHANG'的有%s个,分别是:%s" % (len(list_temp), list_temp)) # 问题2 dict0 = {}
list_name_copy = list_name[:]
for i in range(len(list_name_copy)):
list_name_copy[i] = list_name_copy[i].replace(" ", "") # 去掉中间的空格
dict0[list_name_copy[i]] = len(list_name_copy[i]) # 以“姓名:长度”组成的字典
list_len = list(dict0.values()) # 所有的值,组成的列表
max_num = max(list_len) # 取最大值
#print(max_num) # 11
list_temp = []
for i in list_name:
j = i.replace(" ", "") # 去掉空格
if len(j) == max_num:
list_temp.append(i)
print("名字最长的有%s个,分别是:%s" % (len(list_temp), list_temp)) # 问题3

  结果如下:

['Aiyang ZHANG', 'Caron Li', 'Chang Zhang', 'Coron ZHANG', 'Dongjian SHI', 'Fia YUAN Y', 'Hai LIN', 'Haiying MENG', 'Haiying WANG', 'Jack ZHANG E', 'Jey JIANG', 'Ji ZHAO', 'Joson WANG E', 'Kunpen Ji', 'Li XIAO', 'Wenxue DING', 'Xiu XU']
姓'ZHANG'的有4个,分别是:['Aiyang ZHANG', 'Chang Zhang', 'Coron ZHANG', 'Jack ZHANG E']
名字最长的有4个,分别是:['Aiyang ZHANG', 'Dongjian SHI', 'Haiying MENG', 'Haiying WANG'] Process finished with exit code 0

  

python,寻找班级里面名字最长的人的更多相关文章

  1. 利用Manacher算法寻找字符串中的最长回文序列(palindrome)

    寻找字符串中的最长回文序列和所有回文序列(正向和反向一样的序列,如aba,abba等)算是挺早以前提出的算法问题了,最近再刷Leetcode算法题的时候遇到了一个(题目),所以就顺便写下. 如果用正反 ...

  2. Python进阶 - 对象,名字以及绑定

    Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...

  3. python爬虫(正则取数据)读取表格内的基金代码后爬取基金最新净值,同时写到对应的表格中,基于最近一次购买净值计算出涨跌幅(名字有点长)

    最近基金跌的真够猛,虽说是定投,但大幅度下跌,有时候适当的增加定投数也是降低平均成本的一种方式 每天去看去算太费时间,写了个爬虫,让他自动抓数据后自动计算出来吧 实现逻辑: 1.创建了一个excel表 ...

  4. Python 之作用域和名字空间

    作用域与名字空间 Python有一个核心概念是名字空间(namespace),namespace是一个name到object 的映射关系,Python有很多namespace,因此,在代码中如果碰到一 ...

  5. 如何用Python来处理数据表的长宽转换(图文详解)

    不多说,直接上干货! 很多地方都需用到这个知识点,比如Tableau里.   通常可以采取如python 和 r来作为数据处理的前期. Tableau学习系列之Tableau如何通过数据透视表方式读取 ...

  6. 【python】获取列表中最长连续数字

    最近开发遇到一个功能需求,目的是要获取一个AI分析结果中最长连续帧,比如一个视频中连续3帧有人,那么我认为这个视频就是有人,我就要判断这个视频帧列表中是否有连续的三帧有人.本质就是获取列表中的最长连续 ...

  7. python tips:作用域与名字空间

    Python具有静态作用域,变量的作用域由它定义的位置决定,而与调用的位置无关. a = 2 def f(): a = 2 第一行的a的作用域是全局作用域,作用于定义位置后面的所有位置. 第四行的a的 ...

  8. 13.Python字符串详解(包含长字符串和原始字符串)

    简单地理解,字符串就是“一串字符”,也就是用引号包裹的任何数据,比如“Hello,Charlie”是一个字符串,“12345”也是一个字符串. Python 要求,字符串必须使用引号括起来,可以使用单 ...

  9. python笔记(2)---不定长参数

    python自定义函数中有两种不定长参数, 第一种是*name:加了星号 * 的参数会以元组(tuple)的形式导入 第二种是**name:加了星号 * *的参数会以字典(dict)的形式导入 *na ...

随机推荐

  1. ES6特性-对比两个值是否相等

    因为JavaScript中有语言缺陷,所以出了个Object.is()

  2. SpringBoot常用注解的介绍及使用 - 转载

    常用注解 @springBootApplication 系统启动类注解,此注解是个组合注解,包括了:@SpringBootConfiguration,@EnableAutoConfiguration, ...

  3. 对比了解Grafana与Kibana的关键差异

    对比了解Grafana与Kibana的关键差异 http://www.infoq.com/cn/articles/grafana-vs-kibana-the-key-differences-to-kn ...

  4. 常用Linux命令 mount df dd

    mount -t tmpfs tmpfs ~/build -o size=1G -t 对应的是类型 -o 对应的是选项 tmpfs是Linux/Unix系统上的一种基于内存的文件系统.tmpfs可以使 ...

  5. 剑指offer_面试题6_重建二叉树(分解步骤,逐个击破)

    题目:输入某二叉树的前序遍历和中序遍历的结果.请重建出该二叉树.如果输入的前序遍历和中序遍历的结果中都不含反复的数字. 比如:输入前序遍历 {1,2,4,7,3,5,6,8} 和中序遍历序列 {4,7 ...

  6. Linux中为XEN网桥绑定物理网卡

    XEN虚拟机会默认将可以连通外网的网卡绑定到xenbr0上, 因此如果需要切换到其他物理网卡上时,需要自己配置脚本或执行命令. 1.添加脚本绑定 a.编写一个脚本,指定网卡与网桥绑定的关系 # vim ...

  7. 生成ssh公有密钥而且注冊到Github Generate ssh rsa keys and register public key on Github

    私有密钥和公有密钥是成对的两个文件,私有文件保存在自己的本机,公有密钥保存到还有一端的server,站点等. github就是一种站点. 仅仅有保存了私有密钥的机器才干訪问远程的server等. 使用 ...

  8. Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.3

    3.Spark MLlib Deep Learning Convolution Neural Network(深度学习-卷积神经网络)3.3 http://blog.csdn.net/sunbow0 ...

  9. 从头认识Spring-2.4 基于java的标准注解装配-@Inject(2)-通过set方法或者其它方法注入

    这一章节我们来讨论一下基于java的标准注解装配标签@Inject是如何通过通过set方法或者其它方法注入? 在使用@Inject标签之前.我们须要在pom文件中面增加以下的代码: <depen ...

  10. BootStrap_table.js 学习

    @{ Layout = null; ViewBag.Title = "基于BootstrapTable的简单应用";} <!--添加相关样式引用--><link ...