通过输入Number合并Python列表中的一些列表元素

时间:2019-04-13 16:38:29

标签: python list merge

我很难根据给定的数字合并Python列表中的元素。

我已经找到了可以使用一定数量的解决方案。但是我想使用各种给定的数字(N)。

即当我有清单时

myname.dev/my-project

结果

当N = 2时

['There', 'was', 'a', 'farmer', 'who', 'had', 'a', 'dog', 'and', 'cat', '.']

或N = 3

['There was', 'a farmer', 'who had', 'a dog', 'and cat', '.']

我更希望它直接修改现有列表,而不使用任何模块或库。

非常感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

这是明智的做法。它确实创建了一个新列表。因为这比尝试修改原始文件更有效

a = ['There', 'was', 'a', 'farmer', 'who', 'had', 'a', 'dog', 'and', 'cat', '.']
n = 2
print([' '.join(a[i:i+n]) for i in range(0, len(a), n)])
n = 3
print([' '.join(a[i:i+n]) for i in range(0, len(a), n)])

输出:

['There was', 'a farmer', 'who had', 'a dog', 'and cat', '.']
['There was a', 'farmer who had', 'a dog and', 'cat .']

答案 1 :(得分:0)

这是我能记住的最简单的方法:

my_list = ['a','b','c','d','e','f','g','h','i']
N = 3

my_list[0:N] = [''.join(my_list[0:N])]

答案 2 :(得分:0)

    word_list = ['There', 'was', 'a', 'farmer', 'who', 'had', 'a', 'dog', 'and', 'cat', '.']
    new_word_list = []
    N = int(input())
    for i in range(0, len(word_list), N):
        string = ''
        for j in (range(len(word_list) - i) if len(word_list) - i < N else range(N)):
            string = string + word_list[i + j] + ' '
         new_word_list.append(string)

     print(new_word_list)

尽管必须创建新的列表,但在这里我使用基本的for循环来实现该列表的迭代。