python - 如何一次使用列表中的多个项目 - python
问题描述
我有一个清单:
mylist = [
"hello", "my", "name", "is", "frank", "and", "it", "is", "great", "to", "be", "here", "in", "this", "great", "country"
]
并且正在使用
for i in range(0,len(mylist)):
print(mylist[i])
打印出每个项目,它的工作原理是在新行中打印出每个单词。
我想做的是能够通过更改变量的值将列表中的多个单词视为一个单词k
:
即我想代替它输出
hello
my
name
is
frank
and
it
is
great
to
be
here
in
this
great
country
我想如果k = 2
输出
hello my
name is
frank and
it is
great to
be here
in this
great country
如果列表中有奇数个项目,最后一个单词应该单独成一行
如果k = 3
那么一行应该有3个单词
有什么办法可以做到这一点
先感谢您
解决方案
您可以使用这个分块配方:
def chunks(L, n):
"""Yield successive n-sized chunks from L."""
for i in range(0, len(L), n):
yield L[i:i + n]
然后使用以下参数迭代str.join
或使用序列解包:sep
print
for i in chunks(mylist, 2):
print(' '.join(i))
# alternatively, unpack and use sep argument:
# print(*i, sep=' ')
# hello my
# name is
# frank and
# it is
# great to
# be here
# in this
# great country
推荐阅读
- perl - 解析 PLC 文件中的字符串
- python - 如何修复 pymongo.errors.OperationFailure:
- apache-httpcomponents - Gzip 解压缩不适用于 Apache CachingHttpClient 版本 5.0.3
- javascript - 将平面数据转换为 3 级层次结构/树
- oracle - 如何根据主键对 ORACLE 表中的数据进行分类?
- html - Snipcart data-item-url 在本地主机上不起作用
- unity3d - 不受定向光影响的丑陋水着色器
- node.js - Mongoose 我们找不到合适的 typescript 泛型来支持嵌套查询
- redis - Laravel 8 Sail Redis 不假设默认缓存驱动程序
- flutter - 挂载小部件后如何显示值?