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
相关产品推荐
相关产品推荐

