关于python 中flag的意思

flag的意思是什么,‘ flag = a > d if reverse else a < d’这一句可以怎么代替?

flag = bool
        if a > d:
            flag = False
        else:
            flag = True
        return flag

我想这样代替,发现不对。


```python

lst = [6, 2, 4, 4, 5]
def sort(iterable, reverse=False):
    def comp(a, d):
        flag = a > d if reverse else a < d
        return flag
    ret = []
    for x in iterable:
        for i, y in enumerate(ret):
            if comp(x, y):
                ret.insert(i, x)
                break
        else:
            ret.append(x)
    return ret
print(sort(lst, False))

flag是bool类型,并且跟reverse有关系
如果reverse=True,flag=a>d
如果reverse=False,flag=d>a
可以这么改:

    def comp(a, d):
        flag = d > a
        if reverse:
            flag = a > d
        return flag

flag = a > d if reverse else a < d
这是三元运算符
改为if判断,应该是
if reverse:flag=a>d
else:flag=a<d
其实还可以合并,因为a>d和reverse本身都是bool类型
可以直接这样写
flag=reverse^(a<d)

这阿姨那个替代


```python
lst = [6, 2, 4, 4, 5]
def sort(iterable, reverse=False):
    def comp(a, d):
        # flag = a > d if reverse else a < d
        if a>d:
            flag=False
        else:
            flag=True
        return flag
    ret = []
    for x in iterable:
        for i, y in enumerate(ret):
            if comp(x, y):
                ret.insert(i, x)
                break
        else:
            ret.append(x)
    return ret
print(sort(lst, False))


```