如何用Python提取文本文件中的独立-1与1并生成数组
提取独立标签到Python列表的方法
嘿,作为Python新手遇到这种问题太正常啦,别慌,我给你拆解成简单的步骤,保证一看就懂~
情况1:直接使用你提供的文本内容
先把那段长文本存成一个字符串变量,然后一步步处理:
# 1. 定义原始文本内容 text = "train_00000.png -1 train_00001.png -1 train_00002.png 1 train_00003.png 1 train_00004.png -1 train_00005.png -1 train_00006.png 1 train_00007.png 1 train_00008.png -1 train_00009.png -1 train_00010.png -1 train_00011.png 1 train_00012.png -1 train_00013.png 1 train_00014.png -1 train_00015.png -1 train_00016.png -1 train_00017.png -1 train_00018.png -1 train_00019.png -1 train_00020.png -1 train_00021.png 1 train_00022.png 1 train_00023.png -1 train_00024.png 1 train_00025.png -1 train_00026.png 1 train_00027.png 1 train_00028.png 1 train_00029.png 1 train_00030.png -1 train_00031.png 1" # 2. 按空格分割文本,得到单个元素的列表 # 这时候items会是类似 ['train_00000.png', '-1', 'train_00001.png', '-1', ...] 的列表 items = text.split() # 3. 过滤出独立的-1和1,转换成整数存入列表 labels = [int(item) for item in items if item in ('-1', '1')] # 4. 查看结果 print(labels)
运行后会输出:
[-1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1, 1]
情况2:从文本文件中读取内容
如果你的内容是存在一个文本文件里(比如文件名叫image_labels.txt),可以用下面的代码读取并处理,更贴合你的实际需求:
# 1. 从文件读取文本内容 with open('image_labels.txt', 'r', encoding='utf-8') as f: text = f.read().strip() # strip()去除文本开头结尾的空白(比如换行符) # 2. 后续步骤和上面一样 items = text.split() labels = [int(item) for item in items if item in ('-1', '1')] # 输出结果 print(labels)
代码小解释
split():默认按空格分割字符串,自动把每个文件名和标签拆成单独的元素,这样就完全不会把文件名里的数字和独立标签搞混啦- 列表推导式
[int(item) for item in items if item in ('-1', '1')]:简单来说就是遍历所有元素,只留下是'-1'或'1'的项,再把它们转换成整数,最后组成新的列表
这样就完美解决你的问题啦,每一步都很基础,新手也能轻松上手~
内容的提问来源于stack exchange,提问作者Steven Chan
相关产品推荐
相关产品推荐

