我很难根据给定的数字合并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', '.']
我更希望它直接修改现有列表,而不使用任何模块或库。
非常感谢您的帮助!
答案 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循环来实现该列表的迭代。