如何使列表中的第n个元素都在自己的列表中?

2024-05-20 10:45:18 发布

您现在位置:Python中文网/ 问答频道 /正文

比如说,我有一个这样的列表:

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循环,遍历所有元素,并将它们转换为如下列表:

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]]

而且成功了

感谢那些花时间回答这个问题的人,即使最后我不需要帮助,我还是很感谢你的时间。你知道吗


Tags: theifenigmawhatvaluesthingdouglasalan