没有合适的资源?快使用搜索试试~ 我知道了~
Python–HackerRank习题
3 下载量 39 浏览量
2020-12-21
20:44:47
上传
评论
收藏 42KB PDF 举报
温馨提示
试读
2页
Python–HackerRank习题1,给定列表,找出第二大的数2,打印成绩倒数第二的同学名字3,使用zip(*[iter(s)]*5)按照指定长度5,截取字符串4,计数类collections.Counter5,统计字符串中字母出现次数 并按频次排序6,将数据切分成各重叠段,统计各段数值,重叠次数*方法一,我的无脑操作**方法二,from itertools import groupby* 1,给定列表,找出第二大的数 arr = [1, 2, 3, 23, 7, 37, 18, 37, 24, 37, 2] max_index = [i for i, val in enumerate(a
资源详情
资源评论
资源推荐
Python–HackerRank习题习题
Python–HackerRank习题习题1,给定列表,找出第二大的数2,打印成绩倒数第二的同学名字3,使用zip(*[iter(s)]*5)按照指定长
度5,截取字符串4,计数类collections.Counter5,统计字符串中字母出现次数 并按频次排序6,将数据切分成各重叠段,统计
各段数值,重叠次数*方法一,我的无脑操作**方法二,from itertools import groupby*
1,给定列表,找出第二大的数,给定列表,找出第二大的数
arr = [1, 2, 3, 23, 7, 37, 18, 37, 24, 37, 2] max_index = [i for i, val in enumerate(arr) if val == max(arr)] print(max_index)
index = 0
for i in max_index:
arr.remove(arr[i-index])
index += 1
print(arr)
print(max(arr))
输出
max_index = [5, 7, 9] arr = [1, 2, 3, 23, 7, 18, 24, 2] max(arr) = 24
2,打印成绩倒数第二的同学名字,打印成绩倒数第二的同学名字
name = ['Harry', 'Berry', 'Tina', 'Akriti', 'Harsh'] score = [37.21, 37.21, 37.2, 41, 39] name_score = {name: score for name, score in zip(name, score)}
min_name = [] for i, i_score in name_score.items():
if i_score == min(name_score.values()):
min_name.append(i)
for i in min_name:
del name_score[i] min_name_2 = [i for i, i_score in name_score.items() if i_score == min(name_score.values())] print(''.join(min_name_2))
输出
Harry
Berry
3,使用,使用zip(*[iter(s)]*5)按照指定长度按照指定长度5,截取字符串截取字符串
s = 'abcdefghijklmnopqrstuvwxyz'
# s = [1,2,3,4,5] # a = zip(*[iter(s)]*3)
# a = zip(*iter(s),*iter(s),*iter(s))
print(*s)
print(*iter(s))
print(iter(s)) #迭代器
print(*[iter(s)]) #迭代器
# a = zip(*[iter(s)])
a = zip(*[iter(s)]*5)
for i in a:
print(i)
输出
a b c d e f g h i j k l m n o p q r s t u v w x y z
a b c d e f g h i j k l m n o p q r s t u v w x y z
('a', 'b', 'c', 'd', 'e')
('f', 'g', 'h', 'i', 'j')
('k', 'l', 'm', 'n', 'o')
('p', 'q', 'r', 's', 't')
('u', 'v', 'w', 'x', 'y')
4,计数类,计数类collections.Counter
from collections import Counter
string = 'abbcccdddd'
print(Counter(string)) #Counter({'d': 4, 'c': 3, 'b': 2, 'a': 1})
5,统计字符串中字母出现次数,统计字符串中字母出现次数 并按频次排序并按频次排序
from collections import Counter,OrderedDict
class My_class(Counter,OrderedDict):pass
string = 'abbcccdddd'
print(list(map(str,string)))
print(sorted(string))
print(type(sorted(string)))
print(type(My_class(sorted(string)).most_common(4)))
[print(*c) for c in My_class(sorted(string)).most_common(4)] #
# My_class 继承自 Counter,OrderedDict,字符串列表作为参数,生成对象
# 调用其most_common(4)方法,返回一个列表,取前四名 c为双元素元组(value,count)
输出
['a', 'b', 'b', 'c', 'c', 'c', 'd', 'd', 'd', 'd'] ['a', 'b', 'b', 'c', 'c', 'c', 'd', 'd', 'd', 'd']
d 4
c 3
weixin_38712548
- 粉丝: 5
- 资源: 883
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 农村信用社联合社计算机信息系统投产与变更管理办.docx
- 农村信用社联合社计算机信息系统数据管理办法.docx
- 利用SPSS作临床效度分析线上计算网站介绍-医学研究部统计谘.(医学PPT课件).ppt
- 利用Zabbix监控mysqldump定时备份数据库状态.docx
- 利用计算机解决问题的基本过程.doc
- 化工铁路通信工程总结.doc
- 北京大学网络教育软件工程作业.docx
- 医药公司(连锁店)计算机操作规程未新系统的自行按照旧制修改-新系统过制的编号加修模版.doc
- 医药公司(连锁店)计算机系统操作规程模版.doc
- 医药连锁门店计算机系统的操作和管理程序未新系统的自行按照旧制修改-新系统过制的编号加修模版.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0