此打印语法如何工作? print('something',['a','list'] [boolean])

时间:2019-04-28 17:30:31

标签: python printing boolean

export class Model {
  'Information': {
    'Created': string,
    'Version': string,
  },
  'Files': { 
    [date:string]: {
     'name': string,
     'size': number,
    }
  }
}

取决于布尔值,此结果将打印a或list。

我以前从未见过这种表示法,并且想知道它是如何工作的。

3 个答案:

答案 0 :(得分:4)

在python中注意以下内容

>>> True == 1
True
>>> False == 0
True

为布尔值整数(在Python中)。因此[0,1,2][False] == 0[0,1,2][True] == 1

答案 1 :(得分:4)

  1. Python的boolint的子类,其中True是1,而False是0。
    isinstance(True, int) # True
  2. 因此,布尔值可以用作索引。如果['a', 'list'][boolean]['a', 'list'][0],则boolean的值为
    False,如果['a', 'list'][1]boolean,则True的值为

这可以通过直接使用条件来滥用:

x = 1
print(['no', 'yes'][x > 0])
# yes

答案 2 :(得分:1)

布尔值是TrueFalse。如果您有一个列表mylist,那么mylist[0]将使您成为第一个元素,而mylist[1]将使您成为第二个元素。 mylist[False]的含义与mylist[0]相同。现在假设mylist包含["list", "a"]。然后["list", "a"][False]将为您提供与mylist[0]相同的值。

您习惯于在列表的名称之后看到索引符号(例如"list"),例如[0]。但它也可以像mylist[0]一样在列表文字之后使用。