我一直在通过论坛和我的问题在网站上提出的问题,他们似乎没有工作!你知道吗
我在学校做过一个python3程序,我想从1到1000的数字列表中删除空格。我已经做了一个文本文件的数字,并导入到一个列表中,但当他们被放入列表中,他们包括空间,我不能有。你知道吗
我已经尝试了所有的方法,他们似乎把每个数字分开,但他们没有停留在原来的数字在一起。你知道吗
number = []
f = open('test.txt', 'r')
file_contents = f.read()
List = file_contents
f.close()
for i in List:
number.append(i)
for i in number:
if i == '':
number.remove(' ')
print(number)
结果就是这样:
['0', ' ', '1', ' ', '2', ' ', '3', ' ', '4', ' ', '5', ' ', '6', ' ', '7', ' ']
等等。你知道吗
你能帮我解决这个问题吗?你知道吗
似乎您只是在代码中输入了一个错误:检查元素是否是空字符串
''
,实际上您想检查它是否是空格' '
。你知道吗但是,在迭代同一个列表时从列表中删除元素并不是一个好的做法,可能会导致一些令人惊讶的结果。在这种情况下似乎管用,但不要养成这种习惯。相反,使用列表理解来过滤掉不需要的项目。你知道吗
如果还要将数字字符串转换为实际数字,请使用以下命令:
但是,您读取文件的方式似乎还有另一个问题。您将文件的全部内容读入一个字符串,我只能假设该字符串如下:
"1 2 3 4 ... 11 12 13 ... 451 452 ..."
。然后,将该字符串中的每个字符转换为一个数字,即,结果不是451, 452
,而是'4', '5', '1', ' ', '4', '5', '2'
。不是迭代每个字符,split
首先是字符串这样,以后甚至不需要删除空格,因为这些空格已经用
split
删除了。你知道吗您可以使用
with
和单个列表理解在一行(两行)中完成所有这些:首先,我想知道列表.txt文档完全像。记住正确的行尾。你知道吗
为了摆脱空间,你可以采取各种方法。我想我会选择这样的方式:
它是一个列表,返回一个列表
你可以这样做
相关问题 更多 >
编程相关推荐