我有一个二维列表,看起来像这样:
[['OR', 'M', '0.0'], ['OR', 'M', '0.1'], [':=', 'M', '0.2']]
我想将此列表转换为字符串。有人知道吗?
答案 0 :(得分:3)
使用str.join()
和生成器将列表弄平:
>>> l = [['OR', 'M', '0.0'], ['OR', 'M', '0.1'], [':=', 'M', '0.2']]
>>> ''.join(x for sl in l for x in sl)
'ORM0.0ORM0.1:=M0.2'
答案 1 :(得分:1)
显示chain
的解决方案:
from itertools import chain
m = [['OR', 'M', '0.0'], ['OR', 'M', '0.1'], [':=', 'M', '0.2']]
"".join(chain(*m))
答案 2 :(得分:1)
使用str.join
和sum
:
>>> l = [['OR', 'M', '0.0'], ['OR', 'M', '0.1'], [':=', 'M', '0.2']]
>>> '.'.join(sum(l, []))
ORM00.ORM0.1:=M0.2
答案 3 :(得分:0)
您创建一个在子列表的每个项目之间使用字符','的字符串,并且每个子列表将以诸如'_'之类的另一个符号变形。 例如:
l = [['OR', 'M', '0.0'], ['OR', 'M', '0.1'], [':=', 'M', '0.2']]
l_string = ""
for sublist in l:
for item in sublist:
l_string += item + ","
l_string += "_"
print(l_string) #"OR,M,0.0,_OR,M,0,1,_:=,M,0.2,_"
如果这是循环的最后一轮,则可以在每个for循环中检入,如果不是,则不要添加符号(“,”或“ _”)。
答案 4 :(得分:0)
您可以使用numpy数组获取结果:
import numpy as np
arr = np.array([['OR', 'M', '0.0'], ['OR', 'M', '0.1'], [':=', 'M', '0.2']])
arr = arr.flatten()
result = ''.join(i for i in arr)
print(result) #'ORM0.0ORM0.1:=M0.2'