You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从文件读取数据添加至列表并筛选带(+)标记的派对参会人员的实现方法

嘿,我来帮你搞定这个需求!要实现读取文件内容并筛选出带有(+)标记的参会人员,咱们用Python就能轻松完成,逻辑清晰又好理解,下面是具体的实现方法:

实现步骤与代码示例

核心思路

先把文件里的内容读出来,然后按照「标记+名字」的配对规则拆分内容,最后根据标记把人员分到「参会」和「未参会/不确定」两个列表里。

1. 读取文件内容

咱们用Python的with语句来读取文件,这是最安全的方式——它会自动帮你关闭文件,不用担心忘记关文件导致资源泄漏。假设你的目标文件名叫party_guests.txt,里面的内容就是你给的示例:(+) John (?) Jake (+) Billie。

2. 解析内容并筛选人员

读取到的内容是一整串字符串,咱们先把它按空格拆分成元素列表,然后每两个元素为一组(标记+名字),遍历判断标记类型,把名字分到对应的列表里。

完整代码示例

# 初始化两个列表,分别存放参会和未参会/不确定的人员
attending_guests = []
non_attending_guests = []

# 读取文件内容
with open('party_guests.txt', 'r', encoding='utf-8') as file:
    file_content = file.read().strip()  # strip()去掉内容前后的空白字符

# 将内容按空格拆分成元素列表,得到类似 ['(+)', 'John', '(?)', 'Jake', '(+)', 'Billie'] 的结构
content_elements = file_content.split()

# 遍历列表,每两个元素为一组(标记+名字)
for index in range(0, len(content_elements), 2):
    marker = content_elements[index]
    guest_name = content_elements[index + 1]
    
    if marker == '(+)':
        attending_guests.append(guest_name)
    else:
        non_attending_guests.append(guest_name)

# 输出结果
print("✅ 确认参会的人员:", attending_guests)
print("❌ 未参会/不确定的人员:", non_attending_guests)

代码说明

  • with open(...):安全读取文件,指定encoding='utf-8'是为了避免中文或特殊字符乱码(如果你的文件里有这类内容的话)。
  • split():默认会把所有空白字符(空格、换行等)作为分隔符,所以即使标记和名字之间有多个空格,也能正确拆分。
  • 步长为2的循环:range(0, len(content_elements), 2)让我们每次取第0、2、4...个元素作为标记,对应的下一个元素就是名字,完美匹配你的文件格式。

额外小提示

如果你的文件是每行一个人员信息(比如每行是(+) John),那可以稍微修改代码,按行读取处理:

attending_guests = []
non_attending_guests = []

with open('party_guests.txt', 'r', encoding='utf-8') as file:
    for line in file:
        line = line.strip()
        if not line:
            continue  # 跳过空行
        marker, guest_name = line.split(maxsplit=1)  # 只按第一个空格拆分,避免名字里有空格的情况
        if marker == '(+)':
            attending_guests.append(guest_name)
        else:
            non_attending_guests.append(guest_name)

这个版本还能处理名字里带空格的情况(比如(+) Mary Ann),实用性更强~

内容的提问来源于stack exchange,提问作者hargikana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 15:47:31