如何将数字字符串转换为整数?Python代码输出字符串需转为整数
问题根源
你当前的实现是通过字符串拼接生成了形似列表的字符串,本质为str类型,其中的数字也都是提前转成字符串格式拼接进去的,自然无法得到整数类型的结果。
最优修正方案
直接改用列表存储索引即可,无需手动做字符串拼接处理,还可以用enumerate简化计数逻辑:
def capital_indexes(big): result = [] # enumerate可以直接同时拿到索引和对应字符,不需要手动维护计数变量 for index, letter in enumerate(big): if letter.isupper(): # 直接追加整数类型的索引 result.append(index) return result
原有代码的兼容修改(不推荐)
如果一定要基于你现有逻辑调整,也可以在最后用eval把字符串转成列表,但该方法存在安全隐患,仅做参考:
def capital_indexes(big): bog = "[" bug = 0 for letter in big: if letter in "ABCDEFGHIJKLMNOPQRSTUVWXYZ": bog = bog + str(bug) + ", " bug = bug + 1 else: bug = bug + 1 bog = bog[:-2] bog = bog + "]" return eval(bog)
内容的提问来源于stack exchange,提问作者Ron Cruz
相关产品推荐
相关产品推荐

