我试图理解python中的一些代码。 (我不知道python,只有c / c ++)
def merge(left, right):
result = []
left_idx, right_idx = 0, 0
while left_idx < len(left) and right_idx < len(right):
if left[left_idx] <= right[right_idx]:
result.append(left[left_idx])
left_idx += 1
else:
result.append(right[right_idx])
right_idx += 1
if left: # Confused by this line.
result.extend(left[left_idx:])
if right:
result.extend(right[right_idx:])
return result
我认为除了if left
和if right
语句之外,我已经理解了上面的大部分代码。我理解if语句的方式是它们必须有一个跟随它们的表达式,它们的计算结果为1或0。
答案 0 :(得分:0)
这样想一下,if之后给出的条件是否会被评估然后强制转换为布尔值(不是0和1)。如果为True - >执行if的主体。
<div *ngIf="myBool" class="collapsible-header" >..</div>
<div *ngIf=" ! myBool" class="collapsible-header ACTIVE" >..</div>