python的三目运算符

python的三目运算符

  • C语言 条件语句?值1:值2 如果条件语句为真,表达式结果为值1,否则是值2
  • python 值1 if 条件语句 else 值2
a = 10
b = 20
max1 = a if a > b else b
print(max1)


print('==========2')

gen = ('str%d' % x for x in range(5) if x % 2)
print(next(gen))
print(next(gen))


print('----------1')

gen1 = (12*x for x in range(3))

print(next(gen1))
print(next(gen1))
print(next(gen1))

# 一句话实现交换一个字典的key和value
dict1 = {'a': 1, 'b': 2, 'c':3}
dict1 = dict((value, key) for key, value in dict1.items())
print(dict1)


# 练习 实现自己的dict函数 可以将序列转换成字典
list1 = [('a', 1), ('b', 2), ('c', 3)]
list2 = [{'a', 1}, {'b', 2}, {'c', 3}]


def li_dict(listx):
    dict1 = {}
    for x in listx:
        if len(x) != 2:
            raise ValueError
        x1 = list(x)
        dict1[x1[0]] = x1[1]
    return dict1


print(li_dict(list1))
print(li_dict(list2))

你可能感兴趣的:(python的三目运算符)