Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在Python中实现这个Ruby ifwithand,而不使列表索引超出范围
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>在Ruby中,我可以做如下事情:</p> <pre><code>irb(main):001:0> x = [] => [] irb(main):003:0> puts "hi ho" if x.count > 0 and x[0] => nil </code></pre> <p>Ruby首先将<code>x.count >0</code>计算为false,并且不必费心计算<code>x[0]</code>。你知道吗</p> <p>例如,在Python中,我可以有一个包含以下内容的文件:</p> <pre><code>x = [] if x.count > 0 and x[0]: print "hi ho" </code></pre> <p>当我跑步时:</p> <pre><code>[onknows:/tmp] $ python test-if.py Traceback (most recent call last): File "test-if.py", line 2, in <module> if x.count > 0 and x[0]: IndexError: list index out of range [onknows:/tmp] 1 </code></pre> <p>因此Python也会对<code>x[0]</code>进行评估,尽管没有理由对其进行评估。有没有办法在Python中只使用一个if而不使用嵌套if?我不想做这样的事:</p> <pre><code>if x.count > 0: if x[0]: print "hi ho" </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>看来你需要<code>len</code>。你知道吗</p> <pre><code>x = [] if len(x) > 0 and x[0]: print("hi ho") </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
9 回答
如何在乒乓球游戏中阻止球
2 回答
如何在乘法和模中不乘空间?
9 回答
如何在乘法和除以2个不同的数字之间进行交换?
7 回答
如何在也是数据一部分的单个字符上拆分大字符串
7 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
5 回答
如何在事件wxWidgets中传递自定义数据
5 回答
如何在事件中使用lambda i=i?
1 回答
如何在事件中心只接收最近的数据
2 回答
如何在事件发生之前保持云函数运行?
8 回答
如何在事件发生后使页面重定向到同一页面
9 回答
如何在事件回调之间保持python生成器的状态
1 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
7 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
5 回答
如何在事件处理程序中访问外部对象?
2 回答
如何在事件循环中将协程打包为正常函数?
5 回答
如何在事件循环之外运行协同程序?
10 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
1 回答
如何在事件文件中只保留一份摘要?
8 回答
如何在事件模板中添加事件
1 回答