加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何优雅地链接if else

发布时间:2020-12-20 12:19:29 所属栏目:Python 来源:网络整理
导读:我有一段奇怪的代码.这很臭,但如果更清楚,我想不出方法. 我要做的是从左侧列表的尾部或右侧列表的头部删除最大的项目.我最终得到了这段代码. if not left: right.pop(0)elif not right: left.pop(-1):elif len(left[-1]) len(right[0]): right.pop(0)else: l
我有一段奇怪的代码.这很臭,但如果更清楚,我想不出方法.

我要做的是从左侧列表的尾部或右侧列表的头部删除最大的项目.我最终得到了这段代码.

if not left:
  right.pop(0)
elif not right:
  left.pop(-1):
elif len(left[-1]) < len(right[0]):
  right.pop(0)
else:
  left.pop(-1)

条件的主体是彼此完全相同的,yuck.

是否有一种优雅的方法来重构此代码以最大限度地减少重复?

解决方法

改变您的条件,并消除多余的条款.

if (not left) or (right and (len(left[-1]) < len(right[0]))):
  right.pop(0)
else:
  left.pop(-1)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读