Python 将字符串转换为列表的列表
我有一个字符串,比如:Python 将字符串转换为列表的列表,python,string,list,Python,String,List,我有一个字符串,比如: s=“abcdefghi” 我需要创建此列表的列表,以便形成的列表将:- list=['a'、'b'、'c']、['d'、'e'、'f']、['g'、'h'、'i'] 现在,字符串可以是任何内容,但长度始终为n*n 所以如果n=4. len=16 名单如下: [['1','2','3','4'],['5','6','7','8'],...,['13','14','15','16']] 因此列表列表中的每个列表的长度为4 所以我想写一个函数,它以字符串和n作为输入,并给出
s=“abcdefghi”
我需要创建此列表的列表,以便形成的列表将:-
list=['a'、'b'、'c']、['d'、'e'、'f']、['g'、'h'、'i']
现在,字符串可以是任何内容,但长度始终为n*n
所以如果n=4.
len=16
名单如下:
[['1','2','3','4'],['5','6','7','8'],...,['13','14','15','16']]
因此列表列表中的每个列表的长度为4
所以我想写一个函数,它以字符串和n作为输入,并给出
作为输出的列表列表,其中列表中每个列表的长度为n
怎么能这样呢
更新:
如何将上面的列表转换回字符串
因此,如果l=list=[[a'、'b'、'c']、[d'、'e'、'f']、[g'、'h'、'i']
如何将其转换为字符串:-
s=“abcdefghi”
我在stackoverflow中找到了解决方案:-
s = "".join("".join(map(str,l)) for l in list)
谢谢大家 下面是一个列表,它可以完成这项工作:
[list(s[i:i+n]) for i in range(0, len(s), n)]
如果n*n==len(s)
始终为真,则只需将
n = int(len(s) ** 0.5) # Or use math.sqrt
对于编辑部分,这里有另一个列表:
''.join(e for e in sub for sub in l)
下面是一个完成此任务的列表:
[list(s[i:i+n]) for i in range(0, len(s), n)]
如果n*n==len(s)
始终为真,则只需将
n = int(len(s) ** 0.5) # Or use math.sqrt
对于编辑部分,这里有另一个列表:
''.join(e for e in sub for sub in l)
我是numpy的个人粉丝
import numpy as np
s = "abcdefghi"
n = int(np.sqrt(len(s)))
a = np.array([x for x in s], dtype=str).reshape([n,n])
我是numpy的个人粉丝
import numpy as np
s = "abcdefghi"
n = int(np.sqrt(len(s)))
a = np.array([x for x in s], dtype=str).reshape([n,n])
我喜欢用发电机解决这样的问题
我喜欢用发电机来解决这样的问题到目前为止,您尝试了什么?这里面有什么问题?这是。到目前为止你试过什么?这是什么问题呢?这是。或
[列表(s[n*i:(i+1)*n]),对于范围内的i(len(s)//n)]
,太快了!!非常感谢!是的,是9,我的错,我以为n是字符串长度。。。删除我的注释以及如何将列表列表转换回原始字符串?或者[list(s[n*i:(i+1)*n]),对于范围内的i(len(s)//n)]
,太快了!!非常感谢!是的,是9,我的错,我以为n是字符串长度。。。删除我的注释以及如何将列表列表转换回原始字符串?