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

Python2.7列表数据格式化及追加至其他列表时遇属性错误求助

搞定Python 2.7里的列表格式化与追加问题

嘿,先看你碰到的AttributeError——报错里显示你写了data.data[6::],但你贴的代码里明明是data[6::],这肯定是手误多敲了个.data,先把这个改了,这就是报错的直接原因。

接下来咱们调整代码,实现你想要的提取用户名和用户ID的效果:

修正后的可用代码

users = ["<USER John Bells (100000469012345)>","<USER Shaym kismet (1027112345)>"]
username_list = []
users_id_list = []

def data_handeling01():
    for friend in users:
        # 直接切掉开头的"<USER "和末尾的">",拿到核心信息部分
        core_info = friend[6:-1]
        # 按" ("分割,直接得到用户名和ID
        username, user_id = core_info.split(" (")
        username_list.append(username)
        users_id_list.append(user_id)
    
    # 要是你只想要第一个用户的信息,把下面两行注释取消就行
    # username_list = username_list[:1]
    # users_id_list = users_id_list[:1]
    
    print("用户名列表:", username_list)
    print("用户ID列表:", users_id_list)

data_handeling01()

为啥这么改?

  • 没必要搞个unsorted_list中转,直接遍历原users列表就行,少点多余步骤
  • 用friend[6:-1]一步到位去掉前后的<USER 和>,比你原来拆分后再处理括号更省事
  • 分割的时候直接用" ("当分隔符,一次就能拿到干净的用户名和ID,不用再额外切括号

运行效果

如果保留所有用户的处理,输出是:

用户名列表: ['John Bells', 'Shaym kismet']
用户ID列表: ['100000469012345', '1027112345']

要是你只想要第一个用户的结果,取消那两行注释,就能得到你期望的:

用户名列表: ['John Bells']
用户ID列表: ['100000469012345']

对了,顺便提一句:Python 2.7早就停止维护了,安全和兼容性都没保障,能升级到Python 3.x最好哈。

内容的提问来源于stack exchange,提问作者cyber-security47

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:29:56