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

Python for循环遍历列表仅输出单个字符、无法取完整字符串如何解决

问题根因

你在执行正则替换时,先通过str(Tick)将整个列表转为了字符串类型,正则处理完成后Tick就不再是列表结构,而是一个完整的长字符串。遍历字符串默认会逐字符读取,所以才会出现逐字符打印的问题。

修复方案

不要对整个列表转字符串后做替换,改为对列表内的每个元素单独做正则处理,调整后代码如下:

import re

# 提取Ticker列原始列表
Tick = list(crypto['Ticker'])
# 逐元素处理正则替换,处理后仍保持列表结构
Tick = [re.sub(r'-\(.*?\)-', '', item) for item in Tick]

调整后Tick仍是列表类型,每个元素都是处理完成的完整币种名称,后续遍历即可正常获取完整字符串传入接口:

# 正常调用接口获取价格
price_result = [cg.get_price(ids=item, vs_currencies='usd') for item in Tick]

如果不想改动原有正则处理的逻辑,也可以通过ast模块将处理后的字符串转回列表(不推荐该做法,逐元素处理性能和稳定性更好):

import ast
Tick = ast.literal_eval(Tick)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:45:03