如何将字符串拆分为列表中的字符串数量的位置?
因此,如果我有一个字符串:
s = "this is just a sample string"
我想获得每个3个字符的列表:
l = ["thi", "s i", "s j", "ust", " a ", ...]
So if I have a string:
s = "this is just a sample string"
I want to obtain a list of 3 characters each:
l = ["thi", "s i", "s j", "ust", " a ", ...]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
不要将
list
用于变量名称,因为它是Python中的关键字。您可以做到这一点:输出:
Don't use
list
for a variable name because it's a keyword in Python. Here's how you can do it:Output:
您可以使用
list Gracemension
输出
you can use
list comprehension
output
使用 more-itertools :
With more-itertools:
您可以使用DOT匹配1-3个字符,以匹配任何字符,包括空间和量词
{1,3}
输出,
如果您不希望
'g'的单个字符匹配
然后您可以使用。{3}
而不是{1,3}
You can match 1-3 characters using the dot to match any character including a space and a quantifier
{1,3}
Output
If you don't want the single char match for
'g'
then you can use.{3}
instead of{1,3}
使用发电机将字符串拆分为固定大小的块。如果字符串的长度不是块大小的倍数,则将添加“尾巴”(没有提供信息)。如果不需要“尾巴”,请检查
len(string)%block_size == 0
:如果false
false 然后output [: - 1]
。或带有
时
循环Using generators to split the string in fixed-size blocks. If the length of the string is not a multiple of the block's size then the "tail" it will be also be added (no information provided). If "tail" not desired check if
len(string) % block_size == 0
: ifFalse
thenoutput[:-1]
.or with a
while
loop这是另一个解决方案:
输出:
Here is another solution:
Output: