如何将字符串拆分为嵌套列表?

1 投票
4 回答
3757 浏览
提问于 2025-04-17 03:49

你想把一个字符串,比如

'1,55,6,89,2|7,29,44,5,8|767,822,999'

按照两个分隔符 ',''|' 来分开,这样你就能得到一个包含这些值的列表,像这样:

[[1, 55, 6, 89, 2], [7, 29, 44, 5, 8], [767, 822, 999]]

4 个回答

0

在编程中,有时候我们会遇到一些问题,想要找到解决办法。StackOverflow是一个非常有用的网站,很多程序员会在这里提问和回答问题。你可以把它想象成一个大型的问答社区,大家可以分享自己的经验和知识。

当你在这个平台上看到某个问题时,通常会有很多人给出不同的答案。每个答案可能会有不同的观点和解决方案,这样你就可以从中找到最适合你的方法。

有时候,问题的描述可能会比较复杂,但其实它们都是围绕着一些基本的编程概念展开的。只要你慢慢理解这些概念,就能更好地解决问题。

总之,StackOverflow是一个学习和解决编程问题的好地方,适合所有想要提高自己编程能力的人。

my_data = [map(int, line.split(',')) for line in input_string.split('|')]
0

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后把它放到另一个地方。这个过程就像是搬家,把东西从一个房间搬到另一个房间。

有些时候,我们会遇到一些问题,比如数据的格式不对,或者数据不完整。这就像是你搬家的时候,发现有些箱子没打包好,或者有些东西丢了。

为了避免这些问题,我们可以提前做好准备,比如检查每个箱子是否打包好,确保所有东西都在。这就是在编程中,我们需要对数据进行验证,确保它们是正确的。

总之,处理数据就像搬家一样,需要仔细检查和准备,才能顺利完成任务。

my_data = [x.split(',') for x in input_string.split('|')]
7

列表推导是实现这个目标最简洁的方法。

>>> s = '1,55,6,89,2|7,29,44,5,8|767,822,999'
>>> [[int(x) for x in ss.split(',')] for ss in s.split('|')]
[[1, 55, 6, 89, 2], [7, 29, 44, 5, 8], [767, 822, 999]]

撰写回答