python学习:join拼接 / append与extend的区别 / 输出类型(str or list)变化

该代码示例演示了如何使用Python读取stu_info.txt文件,按性别分组学生学号。通过逐行读取、split()处理和列表操作,实现了将男生和女生的学号分开,并用join()方法将结果转换为字符串输出。
摘要由CSDN通过智能技术生成

更新时间:2020/12/1

txt文档内容:

stu_info.txt的内容:
哈利,男,格兰芬多,0811
罗恩,男,格兰芬多,0812
赫敏,女,格兰芬多,0813
纳威,男,格兰芬多,0814
卢娜,男,拉文克劳,0815
马尔福,男,斯莱特林,0816

参考代码:

#!/usr/bin/env python
# encoding: utf-8

#   关于join的使用/注意输出类型的变化list or str
#   lines = file.readlines()    读取整个文件 此时类型为list
#   for line in lines:  逐行读文件 此时类型为str
#   .split(',')  切片后 此时类型为list
#   使用','.join()    将list中的元素拼接 此时类型为str


if __name__ == '__main__':
    # 打开文件
    file = open(r'stu_info.txt', encoding='utf8')
    # 读取整个文件 此时类型为list
    lines = file.readlines()
    it_all = []
    it_girl = []
    it_boy = []
    # 逐行读文件 此时类型为str
    for line in lines:
        # rstrip()删除str末尾换行 split以逗号切片 此时类型为list
        It = line.rstrip('\n').split(',')
        # append():将一个对象作为一个整体添加到列表中 添加后的列表比原列表多一个元素
        it_all.append(It[3])
        # extend():将一个列表中每个元素分别添加到另一个列表中,只接受一个参数(可以尝试运行下 可以直观看出区别)
        #it_all.extend(It[3])
        if It[1] == '男':
            it_girl.append(It[3])
        else:
            it_boy.append(It[3])
    # 使用join()将list中的元素拼接 此时类型为str
    print(','.join(it_all))
    print(','.join(it_girl))
    print(','.join(it_boy))

运行结果:

0811,0812,0813,0814,0815,0816
0811,0812,0814,0816
0813,0815

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值