列表内字符串拆分报错:List index out of range问题求助
解决列表索引越界错误
我尝试将列表中的字符串拆分后存入另一个列表,但运行代码时出现「List index out of range」错误。我的代码如下:
line_split = [] for i in range(len(phrase)): line_split[i] = phrase[i].split() gap = length % len(phrase[i])
其中phrase列表为:['Lorem ipsum dolor sit amet,', 'consectetur adipiscing elit,', 'sed do eiusmod tempor', 'incididunt ut labore et', 'dolore magna aliqua.']
错误根源
你初始化的line_split是空列表,在循环中直接通过line_split[i]赋值时,这个空列表根本没有索引为i的位置,所以触发了索引越界错误。
修复代码
直接用append()方法向空列表添加拆分后的结果即可:
line_split = [] length = 10 # 替换成你实际的length数值 for i in range(len(phrase)): line_split.append(phrase[i].split()) gap = length % len(phrase[i]) phrase = ['Lorem ipsum dolor sit amet,', 'consectetur adipiscing elit,', 'sed do eiusmod tempor', 'incididunt ut labore et', 'dolore magna aliqua.']
更简洁的写法(推荐)
没必要通过索引遍历,直接遍历phrase里的元素更直观:
line_split = [] length = 10 for p in phrase: line_split.append(p.split()) gap = length % len(p)
内容的提问来源于stack exchange,提问作者mcsmachado
相关产品推荐
相关产品推荐

