比如说我有一个像这样的列表:
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个元素(或者我定义的任何元素)并将它们放入自己的列表中,这样就可以了
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]]
然而,当我尝试运行时,我得到了
[['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 :(得分:0)
你应该将长度除以4或n
for x in range(0,len(values)/4):
values[x:x+4] = [values[x:x+4]]