我要做的是用“;”分隔列表中的元素,并将其添加到新列表中。我现在的代码是:
n = []
s = open("rankings.txt").readlines()
for i in s:
n[i] = s[i].split(';')[1]
s中的每个元素都包含“;”,因此应该能够在那里拆分每个元素。这是s的内容
['Team 1;12\n', 'Team 2;45\n', 'Team 3;66\n', 'Team 4;77\n', 'Team 5;8\n', 'Team 6;99\n', 'Team 7;22\n', 'Team 8;13\n', 'Team 9;46\n', 'Team 10;97\n', 'Team 11;64\n', 'Team 12;65\n', 'Team 13;32\n', 'Team 14;98\n', 'Team 15;78\n', 'Team 16;752\n', 'Team 17;72\n', 'Team 18;73\n', 'Team 19;76\n', 'Team 20;419\n', 'Team 21;48\n', 'Team 22;16\n', 'Team 23;469\n', 'Team 24;82\n', '\n']
我想n包含[12,45,66…]
你可以用列表来完成。 这适用于您的案例,如果您有一些不匹配的输入,您可能需要根据碰巧破坏它的特定案例对其进行一些修改,但这应该不是很困难:
其中
s
是字符串列表。 请注意,结尾的if是因为最后一项只有'\n'
,int忽略了'\n'
部分。这些是您在不同情况下可能需要修改的部分。 如果你想让我在评论中扩展列表理解的内容。你知道吗下面的代码应该满足您的期望。与
readlines()
相反,只需使用open()
并运行一个循环,它只会有效地完成相同的任务。你知道吗在注释后编辑,将类型转换为int
这里有几个问题:
for i in s
表示i
是列表中的字符串,而不是索引。更改为for i in range(len(s))
以获取整数。n
是一个空列表,没有任何非负的i
的n[i]
。通过更改为n.append(...)
附加新成员。在
s
中有没有;
(最后一个)的成员。也许加一个if语句?或者你可以用一种很好的理解力来写:
相关问题 更多 >
编程相关推荐