好吧,我是Python新手,正在学习元组和列表。我被要求创建一个程序,但是它需要转换以下列表:
li = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
在下面的列表中:
li = [[(1,2,3),(4,5,6)],[(7,8,9),(10,11,12)],[(13,14,15),(16,17,18)]
基本上,从一个简单的列表到一个包含子列表的列表,子列表包含两个元组,其中包含3个元素。你知道吗
我感谢你的帮助。你知道吗
谢谢。你知道吗
Tags:
解决这个问题的简单方法是分两步进行:首先,将其分解为3元组列表。然后,将其分解为两个列表。你知道吗
每个步骤有两种方法。你知道吗
第一种是使用切片和测距:
但我们需要3元组,而不是3列表,因此需要在表达式周围添加
tuple()
:然后,我们再做同样的事情:
另一种方法是将相同的迭代器压缩到自身。文档中的^{} recipes 展示了如何做到这一点。事实上,我们只要复制并粘贴食谱,然后我们就可以使用它了。你知道吗
现在:
它给了我们一个迭代器;我们必须把它转换成一个列表来查看元素:
所以,现在我们重复同样的步骤:
但是我们得到的是元组的元组,我们需要元组的列表,所以:
在Python中,应该有一种也是唯一一种明显的方法来做事情。那么,是哪一个?你知道吗
more_itertools
第三方包)中。你知道吗这些差异中的一个通常对您的用例很重要,在这种情况下,显而易见的方法就是做您想做的事情。对于像这样的简单案例,如果这些都无关紧要的话…就做你觉得更可读的那个。你知道吗
使用^{} :
我个人喜欢这种方法:
顺便说一句,如果元素不适合这样的结构,这将引发错误,例如,请考虑:
这可能合适,也可能不合适。你知道吗
如果不是,那么简单的解决方法是给
next()
第二个参数:参考号:
相关问题 更多 >
编程相关推荐