Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么python列表的x[False]和x[True]可以工作?_Python_List_Boolean - Fatal编程技术网

为什么python列表的x[False]和x[True]可以工作?

为什么python列表的x[False]和x[True]可以工作?,python,list,boolean,Python,List,Boolean,如果我有x作为项目列表,为什么x[True]或x[False]会修改列表的第一个或第二个元素 请参见下面的代码示例: x = [1, 2] x[True] = 'a' x[False] = 'b' print(x) # --> ['a', 'b'] 请解释此代码工作的原因?因为x是列表传递的索引正在转换为整数表示。True和False的整数表示形式分别为1和0。结果,它导致修改列表中的第一个和第二个元素。从: 这些代表了真值False和True。两个物体 表示值False和True是唯一

如果我有
x
作为项目列表,为什么
x[True]
x[False]
会修改列表的第一个或第二个元素

请参见下面的代码示例:

x = [1, 2]
x[True] = 'a'
x[False] = 'b'
print(x) # --> ['a', 'b']

请解释此代码工作的原因?

因为x是
列表
传递的索引正在转换为整数表示。True和False的整数表示形式分别为1和0。结果,它导致修改列表中的第一个和第二个元素。从:

这些代表了真值False和True。两个物体 表示值False和True是唯一的布尔对象。 布尔类型是整数类型和布尔值的子类型 在几乎所有上下文中,其行为分别类似于值0和1, 例外情况是,当转换为字符串时 分别返回“False”或“True”

除了示例,还列出了引起词典有趣行为的列表:

x = {}
x[True] = 'a'
print(x) # --> {True: 'a'}
x[1] = 'b' 
print(x) # --> {True: 'b'} and not {True: 'a', 1: 'b'}

请考虑把你的答案移到重复的问题上。这是一个很好的答案,应该和其他答案一起列在那里。我们可以标记答案,以便国防部移动它来保持分数吗?这是可能的吗?