文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python中经常写出来的冗余代码有哪些

2024-04-02 19:55

关注

python中经常写出来的冗余代码有哪些 ,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

有一些同学是从其它语言迁移到Python的,所以写Python代码的时候,还带有其它语言的一些语法特征。于是写出来的Python代码包含了大量没什么用的无效代码。我们今天来看看常见的无效代码有哪些。

先定义再复制

列表和字典是重灾区。有一些人在Python里面创建一个元素已经确定的列表,却这样写代码:

a = list() a.append('x') a.append('y') a.append('z')

但实际上,你可以直接一行代码写为:

a = ['x', 'y', 'z']

初始化一个元素已经确定的字典,有人也喜欢这样写代码:

a = dict() a['name'] = 'kingname' a['age'] = 100 a['address'] = 'xx'

但实际上,一行代码就可以搞定了:

a = {'name': 'kingname', 'age': 100, 'address': 'xx'}

还有些人字典的Key存入列表,是这样写代码的:

key_list = [] for key in target_dict.keys():     key_list.append(key)

但实际上,一行代码就搞定了:

key_list = list(target_dict)

条件判断真、假、是否为空

有些人在写条件判断的时候,是这样写的:

if a == False:     print('xx') if a == []:     print('xx') if a == '':     print('xx') if a == None:     print('xx') if a == 0:     print('xx')

但实际上,这些判断全部可以合并成一个:

if not a:     print('xx')

同理,对于判断真、非空、非零的代码:

if a == True if len(a) > 0 if a != 0 if a != None

全部都可以合并成:

if a:     print('xxx')

稍稍有点技术含量的冗余

有些人在写条件判断的分支检测的时候,是这样写的:

for ele in target_list:     if ele > 0:         print('列表中至少有一个数字大于0')         return True     else:         continue

这里的else: continue实际上没有任何作用,完全可以删除:

for ele in target_list:     if ele > 0:         print('列表中至少有一个数字大于0')         return True

列表推导式式我们经常使用的一种语法糖。但Python里面,其实还有一个生成器推到式,它写为(x for x in  yyy),这里使用小括号。所以对于下面这几行代码:

a = ['1', '2', '3'] sum_result = sum([int(x) for x in a])

知道生成器推到式的同学可能会这样写:

a = ['1', '2', '3'] sum_result = sum((int(x) for x in a))

但实际上,如果一个生成器推到式作为另一个函数的唯一参数,那么可以省略内层括号:

a = ['1', '2', '3'] sum_result = sum(int(x) for x in a)

关于python中经常写出来的冗余代码有哪些 问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯