每次在字符串的新行之后使用for循环和append创建一个新列表



我是Python的初学者,并且有一个项目,该项目有一长串数字,这些数字由n(新行)分隔,因此有大量的数字在一起。数字的长列表以字符串形式呈现,我需要首先将它们放入列表中,然后将它们转换为整数。

下面是数字的测试列表:

1000
2000
3000
4000
5000
6000
7000
8000
9000
10000

每个组代表一个人,所以每个人都需要有自己的列表。在这个例子中,第一个人持有数字1000,2000和3000,所以他们需要有自己的列表,其中包含这些数字,第二个人需要有自己的列表,其中包含他们的数字,等等。

我需要每个人都有自己的列表,其中包含他们的数字,但是当我使用string.split()函数时,它将所有数字放入一个大列表中,包括空格。我如何使用for循环和.append()来创建一个新的列表,每次n是通过创建一个方法满足?

这是我到目前为止的代码:

def converting(lists):
new_list = []
for i in lists:
lists = new_list.append(i)
print(new_list)

如何在每次看到新行时创建单独的列表?我希望它每次都创建一个新列表,但结果是:

['n', '1', '0', '0', '0', 'n', '2', '0', '0', '0', 'n', '3', '0', '0', '0', 'n', 'n', '4', '0', '0', '0', 'n', 'n', '5', '0', '0', '0', 'n', '6', '0', '0', '0', 'n', 'n', '7', '0', '0', '0', 'n', '8', '0', '0', '0', 'n', '9', '0', '0', '0', 'n', 'n', '1', '0', '0', '0', '0']

它取每个字符并输出成一个大字符串。

我需要它是[1000,2000,3000],[4000,5000,6000],[7000,8000,9000]和[10000]。帮助和澄清将不胜感激!

假设s是输入字符串,可以先用双换行符分隔,然后用换行符分隔:

out = [list(map(int, s2.strip().split('n')))
for s2 in s.strip().split('nn')]

NB。strip只是一个安全的情况下,有悬空空格/换行符,

输出:

[[1000, 2000, 3000],
[4000, 5000, 6000],
[7000, 8000, 9000],
[10000]
]

最新更新