寻找班级里面名字最长的人 我有一串字符串人名: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. SQLHelper--java类

    package richard; import java.beans.Statement; import java.sql.Connection; import java.sql.DriverMana ...

  2. Linux常用下载软件

    1.TransmissionTransmission是一个BitTorrent客户端软件,Ubunut默认自带的下载软件,它支持速度限制.制作种子.远程控制.磁力链接.数据加密.损坏修复.数据来源交换 ...

  3. Django_模板HTML

  4. 在hive执行创建表的命令,遇到异常com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes

    今天在练习hive的操作时,在创建数据表时,遇到了异常 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.ex ...

  5. 【Henu ACM Round#15 E】 A and B and Lecture Rooms

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 最近公共祖先. (树上倍增 一开始统计出每个子树的节点个数_size[i] 如果x和y相同. 那么直接输出n. 否则求出x和y的最近 ...

  6. mysql通过字段凝视查找字段名称

    有时候表的字段太多.仅仅是大致记得表的凝视,想通过字段凝视查找字段名称,能够用例如以下语句: SELECT COLUMN_NAME,column_comment FROM INFORMATION_SC ...

  7. CF 439C(251C题)Devu and Partitioning of the Array

    Devu and Partitioning of the Array time limit per test 1 second memory limit per test 256 megabytes ...

  8. awk依照多个分隔符进行切割

    我们知道awk能够进行类似于cut之类的操作.如一个文件data例如以下 zhc-123|zhang hongchangfirst-99|zhang hongchang-100|zhang 假设我们 ...

  9. HDU1788 Chinese remainder theorem again【中国剩余定理】

    题目链接: pid=1788">http://acm.hdu.edu.cn/showproblem.php?pid=1788 题目大意: 题眼下边的描写叙述是多余的... 一个正整N除 ...

  10. Ajax缓存原理

    一.什么是Ajax缓存原理? Ajax在发送的数据成功后,会把请求的URL和返回的响应结果保存在缓存内,当下一次调用Ajax发送相同的请求时,它会直接从缓存中把数据取出来,这是为了提高页面的响应速度和 ...