欢迎访问 生活随笔!

凯发ag旗舰厅登录网址下载

当前位置: 凯发ag旗舰厅登录网址下载 > 编程语言 > >内容正文

python

python代码如何写的更优雅 -凯发ag旗舰厅登录网址下载

发布时间:2025/1/21 16 豆豆
凯发ag旗舰厅登录网址下载 收集整理的这篇文章主要介绍了 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

首先最重要的一点,
忘掉其他语言里的写法,
尝试使用python风格进行code,
熟练之后,你会觉得她真的很美!

1. 多个值进行初始化

# > yes s1,s2,s3 = [],[],0 # > no (这样写,既麻烦,看起来也累) s1 = [] s2 = [] s3 = []

2. 三目运算符

# python中没有 ? : 表达式,使用if else替代 def func():return return_value if true else other_valuedef fib(n):return n if n<2 else fib(n-1)fib(n-2)

3. 列表生成式

# > yes[i for i in range(1,100)]# > 进一步过滤# is_prime() ---> bool , 如果返回值为true就加入列表[i for i in range(2, n1) if isprime(i)] # > nores = [] for i in range(1,100):res.append(i)

4. list、str元素倒置

# 有的同学,肯定想自己封装一个,其实不用, 直接使用切片就可以了。 >>> s = '123' >>> s[-1::-1] '321'>>> a = [1,2,3] >>> a[-1::-1] [3, 2, 1]# ! 而且上面的这个式子,非常好记,两边写个-1,中间什么也不写。 # ! 又简单又方便,wonderful!beautiful!

5. 排序功能

# !非业务必须,不要自己写排序算法,写的慢,还容易错 >>> a = [10,12,11] >>> sorted(a) [10, 11, 12]# > 我知道,我的读者看到这儿就不乐意了,心想你糊弄我们吧,就这,我们怎么实现需求。 # 别急,我们先来做一道题

题目:某班同学考试,进行分数排名,科目 语文 数学,按照总分降序排名。
若总分相同,则按语文成绩降序排名。若语文成绩还相同,则按学号升序排名。

测试数据
n = 4
学号 语文数学
10000001 64 90
10000002 90 60
10000011 85 80
10000003 85 80

# 虽然我这边看似写了很长,但是实际,核心,排序处理的代码就一行。 # sorted(stus, key=lambda i: (i[1] i[2], i[1], -i[0]), reverse=true) # 如果自己写,处理 {总分降序、语文成绩降序、学号升序} 嵌套的if估计头疼死个人。n = int(input())stus = [] for i in range(n):l = list(map(int, input().split(" ")))stus.append(l)res = sorted(stus, key=lambda i: (i[1]i[2], i[1], -i[0]), reverse=true)print(res)'''结果: [[10000003, 85, 80], [10000011, 85, 80], [10000001, 64, 90], [10000002, 90, 60]] '''# 肯定会有读者问,上面这么写,时间复杂度如何? # sorted, 用的是timsort,平均时间复杂度 o(nlogn),可以说已经胜过了绝大多数排序算法了。

6. 格式化输出

# python中的格式化输出方式可真是太多了。 # 我所知道的至少有5种。但其实真正常用且好用的就下面两种。# 1. f-string 格式化输出 >>> h = "hello";w = "world" >>> print(f"{h} {w}") hello world# 2. format输出 >>> h = "hello";w = "world" >>> print("{} {}".format(h,w)) hello world# 也可以写的花哨些 >>> h = "hello";w = "world" >>> x = [h,w] >>> print("{} {}".format(*x)) hello world

7. 尾语

我知道的,关于python代码如何写的更优雅,各位一定也有自己的小妙招。

欢迎您在评论区留言,我也好乘机学一手。

总结

以上是凯发ag旗舰厅登录网址下载为你收集整理的的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图