【问题标题】:How to split list based on characters and then make sub-lists? [duplicate]如何根据字符拆分列表然后制作子列表? [复制]
【发布时间】:2018-12-29 17:38:57
【问题描述】:

如何将列表拆分为子列表,然后进一步拆分以使每个字符成为独立值?

我需要在 Python 3.6.5 版本中完成这一切。该列表将是整数。

我需要转换

[123, 456]

进入

[[1,2,3], [4,5,6]]

编辑:

完成之后,如何打印第一个子列表的第一个字符?

注意:Splitting integer in Python?Turn a single number into single digits Python 不能解决我的问题,因为他们没有解释如何从中制作子列表。

【问题讨论】:

  • 更多here。有时,稍微搜索一下会比发布没有研究工作和尝试的问题更快
  • “他们没有解释如何制作子列表” - 那又怎样?它们向您展示了如何处理一个数字,因此您只需对列表中的每个数字应用相同的逻辑即可。
  • 你尝试过什么来获取第一个子列表的第一个字符,它有什么问题?这不是代码编写服务。
  • 请不要在您的问题得到回答并接受答案后更改。

标签: python list


【解决方案1】:

例如,使用list comprehension:-

my_list = ['123', '456']
[list(x) for x in my_list]

如果my_list 是一个整数列表:-

my_list = [123, 456]
[[int(x) for x in str(n)] for n in my_list]

【讨论】:

  • my_list = ['123', '456']? OP从未说过输入是字符串。为什么你凭空做出这个假设?您应该为字符串添加类似于“如果 my_list 是整数列表-”的解释
  • 请看我的完整答案
  • 这会将它们分成子列表吗?
  • @ArihanSharma-SirJohnAMac:尝试代码并检查输出
  • 是的,我建议阅读更多关于列表理解的内容 - pythonforbeginners.com/basics/list-comprehensions-in-python
【解决方案2】:

一个简单的列表推导就可以了,想法是遍历数字字符串表示中的字符:

[[int(x) for x in str(s)] for s in l]

【讨论】:

  • 这会将它们分成子列表吗?
  • @ArihanSharma-SirJohnAMac,确实,这就是为什么我们在列表中有一个列表。
  • 现在如何打印第一个子列表的第一个字符?
猜你喜欢
  • 2018-10-24
  • 1970-01-01
  • 2013-10-04
  • 2015-10-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
  • 2021-11-30
  • 2017-04-19
相关资源
最近更新 更多