【Python】if for 简写及.format格式化输出内容

if……else……条件分支语句可以写在一行,也叫作三目运算

def qiepian():
    idNo = "101110194711257"

    value = int(idNo[14:17][-1])
    print(value)
    # if value % 2 == 1:
    #     sex = '男'
    # else:
    #     sex = '女'
    # 将上面if else 简化:        
    sex = '' if value % 2 == 1 else ''
   
    print(sex)

 

标准列表推导式(相当于for循环,形式上比较简洁)

list_x = ['张三', '', '大专', '在职', '工龄:5年']
b = [str(i) for i in list_x]
# b = []
# for n in list_x:
#     b.append(list_x[n])
print(b)
['张三', '', '大专', '在职', '工龄:5年']

进程已结束,退出代码为 0

 

嵌入式列表推导式

ll = [['姓名', '性别', '学历', '工作状态', '备注'], ['张三', '', '大专', '在职', '工龄:5年'], ['里屋', '', '本科', '在职', '工龄:0.5年'], ['戈恩', '', '未知', '待业', '外国人']]
# 嵌入式推导式
la = [y for x in ll for y in x]
print(la)
['姓名', '性别', '学历', '工作状态', '备注', '张三', '', '大专', '在职', '工龄:5年', '里屋', '', '本科', '在职', '工龄:0.5年', '戈恩', '', '未知', '待业', '外国人']

进程已结束,退出代码为 0

 

条件列表推导式

ll = [['姓名', '性别', '学历', '工作状态', '备注'], ['张三', '', '大专', '在职', '工龄:5年'], ['里屋', '', '本科', '在职', '工龄:0.5年'], ['戈恩', '', '未知', '待业', '外国人']]
# 嵌入式推导式
la = [y for x in ll for y in x if y == "在职"]
print(la)
['在职', '在职']

进程已结束,退出代码为 0

 

 

格式化输出内容:

def qiepian():
    idNo = "101110194711257"

    value = int(idNo[14:17][-1])
    print(value)
    sex = '' if value % 2 == 1 else ''
    print(sex)
    print('证件性别位数字为:{},奇数男偶数女,所以此人为:{}'.format(value, sex))

运行结果

7
男
证件性别位数字为:7,奇数男偶数女,所以此人为:男

 

posted @ 2021-12-12 22:52  Phoenixy  阅读(515)  评论(0编辑  收藏  举报