2016-11-21 29 views
-1

例如说,我已经建立了这样的名单:如何使列表中的每个第n个元素都在自己的列表中?

values = ['Godel Escher Bach', 'What if?', 'Thing Explainer', 'Alan Turing: The Enigma', ' 1979', ' 2014', ' 2015', ' 2014', ' Douglas Hofstadter', ' Randall Munroe', ' Randall Munroe', ' Andrew Hodges'] 

,我想抓住每个4元(或任何NI定义),并把它们转化为自己的列表,所以将被

values = [['Godel Escher Bach', 'What if?', 'Thing Explainer', 'Alan Turing: The Enigma'], [' 1979', ' 2014', ' 2015', ' 2014'], [' Douglas Hofstadter', ' Randall Munroe', ' Randall Munroe', ' Andrew Hodges']] 

我的尝试是建立一个for循环,并通过所有元素循环和他们covnert到列表这样:

values = ['Godel Escher Bach', 'What if?', 'Thing Explainer', 'Alan Turing: The Enigma', ' 1979', ' 2014', ' 2015', ' 2014', ' Douglas Hofstadter', ' Randall Munroe', ' Randall Munroe', ' Andrew Hodges'] 
for x in range(0,len(values),1): 
    values[x:x+4] = [values[x:x+4]] 

然而,当我尝试[R unning,我得到

[['Godel Escher Bach', 'What if?', 'Thing Explainer', 'Alan Turing: The Enigma'], [' 1979', ' 2014', ' 2015', ' 2014'], [' Douglas Hofstadter', ' Randall Munroe', ' Randall Munroe', ' Andrew Hodges'], [], [], [], [], [], [], [], [], []] 

所以我的代码是什么,我想要它做的,但也留下了几个空的,[]我不想要的。我怎样才能解决这个问题?

编辑::: NVM,我修好了。

我做

for x in range(0,int(len(values)/4),1): 
    values[x:x+4] = [values[x:x+4]] 

和它的工作

感谢那些把他们的时间来回答,即使在最后,我并不需要帮助这个问题,我很欣赏你的时间。 `:

+0

'在范围X(0,LEN(值),4)划分长度? – Psidom

回答

0

你应该4或正

for x in range(0,len(values)/4): 
    values[x:x+4] = [values[x:x+4]] 
+0

这就是我得到的,但是你在LOL之后5秒回复它,谢谢你的正确解决方案 –

相关问题