Hel*_*rth 4 python string list dataframe python-3.x
有一堆从.txt文件转换而来的列表,这些列表已被读作字符串集合,如下所示:
['New', 'Jersey', '1', '0', '1', '999']
['West', 'North', 'Central', '1', '0', '100', '90']
Run Code Online (Sandbox Code Playgroud)
这些列表有不同数量的并排词(第一个有2个,第二个有3个,等等.)
我想输出一个新的列表(然后进入一个编译的数据帧),它将并排的单词连接在一起,如:
['New Jersey', '1', '0', '1', '999']
['West North Central', '1', '0', '100', '90']
Run Code Online (Sandbox Code Playgroud)
这将使新列表(和数据帧)具有相同的长度.
只是append(line.split())
为每个字符串添加一个新列表很容易,但无法找出if-statement和.join()连接所有单词并分别附加每个数字.
使用itertools.groupby
,您可以分组str.isalpha
,有条件地连接字符串,然后链接结果:
from itertools import chain, groupby
L = ['New', 'Jersey', '1', '0', '1', '999']
grouper = groupby(L, key=str.isalpha)
joins = [[' '.join(v)] if alpha_flag else list(v) for alpha_flag, v in grouper]
res = list(chain.from_iterable(joins))
print(res)
['New Jersey', '1', '0', '1', '999']
Run Code Online (Sandbox Code Playgroud)