刚接触Python,看到一个结构,看不懂也不知道怎么找。就是这个片段:
for i in range(10):
print("Start",[' ', i][i > 5],"End", sep="")
那么 [' ', i][i > 5] 究竟是如何工作的呢?我可以看到,如果满足第二个列表中的条件,则选择第二个参数,否则选择第一个,即空白。任何合乎逻辑和一般性的解释?
请您参考如下方法:
第二个列表不是索引运算符的列表
xs = [10,20,30]
xs[0] # gives 10
并且完全可以在列表文字而不是列表变量上使用它
[10,20,30][0] # gives 10
至于x < 5 ,当你在 Python 中使用 bool 值索引列表时,它会转换为 0 和 1。尝试做 xs[False]和 xs[True]
不过,我绝对不建议编写那种代码。它非常困惑和不直观。
