楼主: chancidy
跳转到指定楼层
上一主题 下一主题
收起左侧

[学Python/Perl] 一些刷题常用的 python 技巧

   
🔗
1in0 2019-8-21 15:53:03 来自APP | 只看该作者
全局:
谢谢分享!
回复

使用道具 举报

全局:
好帖,赞赞赞赞赞!
回复

使用道具 举报

全局:
这么好的贴 顶一个
回复

使用道具 举报

🔗
ShikiH 2019-8-22 13:09:46 | 只看该作者
全局:
简单的sort by key的话推荐用itemgetter
回复

使用道具 举报

全局:
谢谢分享!lz好人!
回复

使用道具 举报

🔗
lbytenwater 2019-8-23 07:18:52 | 只看该作者
全局:
的确,我试过,拿将近10道题,把java的答案和python的答案敲进去,掐时,用python刷题感觉比java 要节约将近 7-10分钟的代码量。当然,前提是你知道这道题怎么做,以及你对java和python 的语法熟悉度一样。但是也从侧面反映出python刷题的优势,少了7-10分钟意味着你可以多想7-10分钟
回复

使用道具 举报

全局:
graph用defaultdict(set)转成adjacency list

weighted graph用defaultdict(dict),graph[u][v] = weight

priority queue用heapq (minheap),要用maxheap就对元素取负,不能用lambda有点伤

出了sort, min max也可以用key和lambda作为排序依据,结合list comprehension非常好用

sum也可list comprehension,四五行变一行,sum(matrix, [])可flattern二维矩阵

bisect非常好用,源码也值得研究
回复

使用道具 举报

🔗
GraceRui 2019-9-25 11:21:44 | 只看该作者
全局:
学习学习了 感谢!
回复

使用道具 举报

🔗
chanel66 2019-11-24 02:58:01 | 只看该作者
全局:
感谢 学习了!
回复

使用道具 举报

🔗
peter_cd.cn 2019-11-24 11:11:29 | 只看该作者
全局:
2d array 有bug,应该是这样:
l = [[0 for y in range(rows)] for x in range(cols)]

而不是这样,
l = [[0] for i in range(cols) for j in range(rows)]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表