请解释(python):示例列表[a<;b]
我在阅读时发现了一个我不熟悉的python列表语法 问题:在列表的请解释(python):示例列表[a<;b],python,list,comparison-operators,Python,List,Comparison Operators,我在阅读时发现了一个我不熟悉的python列表语法 问题:在列表的[]中使用有什么作用 e、 g.示例列表[aex=[1,2,3,4] >>>ex[0>>ex[0>5] 1. >>>ex[0>3] 1. >>>ex[0>0] 1. >>>ex[0>>ex[1>>ex[1它们是逻辑计算。如果语句为真,则返回1;如果语句为假,则返回0。这种语法在常规Python和numpy中都有效,但在每个位置执行不同的操作 对于常规Python数字和容器,执行sequence[a
[]
中使用
有什么作用
e、 g.示例列表[a
我在一些航站楼玩过,但这无助于我理解任何事情:
>>> ex = [1,2,3,4]
>>> ex[0<5]
2
>>> ex[0>5]
1
>>> ex[0>3]
1
>>> ex[0>0]
1
>>> ex[0<0]
1
>>> ex[1<0]
1
>>> ex[1<5]
2
>ex=[1,2,3,4]
>>>ex[0>>ex[0>5]
1.
>>>ex[0>3]
1.
>>>ex[0>0]
1.
>>>ex[0>>ex[1>>ex[1它们是逻辑计算。如果语句为真,则返回1;如果语句为假,则返回0。这种语法在常规Python和numpy中都有效,但在每个位置执行不同的操作
对于常规Python数字和容器,执行sequence[a
首先计算a
并获得boolan值(True
或False
)。布尔值是Python中整数的一个子类,因此它们是列表和元组等序列的可接受索引。您有时会看到类似[1,-1]的代码[a
用作条件表达式-1的简写,如果a
在numpy代码中,情况要复杂一些。如果a
和/或b
值是numpy数组,那么表达式a
将是一个具有适当维度的布尔数组。然后可以将该数组用作另一个numpy数组的索引。例如,可以提取num中大于10的值py arraya
和a[a>10]
。这是您链接到的另一个问题中使用的逻辑。请阅读
p类似地,因为0不大于3,并且列表中的第0项是1,所以codeex[0>5]
给出值1
否,它返回True
或False
,但这些值通过列表中调用方法的内部将其转换为int
,将它们转换为1和0。它返回ex列表中位置1处的对象,因此为2。0@mwaso,很有趣,谢谢。你知道t是什么吗他的numpy特性/语法被称为?更准确地说:您的代码只是在整数上下文中计算布尔值(比较的结果)(由[]
运算符预期)。但是在scipy工具包中(numpy,pandas)扩展标准python itemgetter语法有一些新功能。不幸的是,我遇到了问题,如果不检查它是如何调用的(选择器?),我现在记不起来了。值得注意的是,在处理numpy数组时,通常情况下,小于运算符不会返回布尔值。
>>> True == 1
True
>>> False == 0
True
>>> 'ab'[True]
'b'
>>> 'ab'[False]
'a'
>>> a = 'aa'
>>> b = 'bb'
>>> [10, 20][a>b]
10
>>> 20 if a > b else 10
10