[英]Creating a new list each time after a new line in a string using for loop and append
我是 Python 的初学者,有一个项目有一长串数字,这些数字由 \n(新行)分隔,所以有很多数字在一起。 一长串数字以字符串形式呈现,我需要先将它们放入列表中,然后将它们转换为整数。
这是数字测试列表:
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
每个组代表一个人,因此每个人都需要有自己的列表。 在此示例中,第一个人持有号码 1000、2000 和 3000,因此他们需要有自己的包含这些号码的列表,第二个人需要有自己的包含他们的号码的列表,依此类推。
我需要每个人都有自己的数字列表,但是当我使用 string.split() function 时,它将所有数字放入一个包含空格的大列表中。 每次通过创建方法满足 \n 时,如何使用 for 循环和 .append() 创建新列表?
到目前为止,这是我的代码:
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('\n\n')]
注意。 如果有悬空空格/换行符, strip
只是一种安全,
Output:
[[1000, 2000, 3000],
[4000, 5000, 6000],
[7000, 8000, 9000],
[10000]
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.