在Python语言中,是不支持三元计算符的,比如Java中用这种形式,来判断身份证的男女
1 | String gender = Integer.parseInt(idcard.substring(16, 17)) % 2 != 0 ? "男" :"女"; |
而在Python中没有这个运算符,有一个if else可以替代
1 | gender = "男" if int(idcard[16:17]) % 2 != 0 else "女" |
或者这样:
1 | gender = int(idcard[16:17]) % 2 != 0 and "男" or "女" |
更或者这样:
1 | # 利用int(True)=1和int(False)=0, 可以实现下面的选择 |
还可以这样
1 | # 利用True和False当作字典的key, 可以实现下面的选择 |
如果判断的东西是否定和非否定关系,甚至还可以这样.
1 | # 同样是利用利用int(True)=1和int(False)=0, 然后切片数组 |