所以,我需要将一个包含子列表的列表(每个子列表有 2 个元素)转换为一个字符串
我有什么:
[['A','B'],['C','D']]
我想转换成什么:
"ABCD"
我试过这个:
list=[['A','B'],['C','D']]
hello=""
for i in list:
hello=hello+i
print (hello)
说我有一个 TypeError,我不明白为什么。
最佳答案
你有一个可迭代的列表,所以作为 pythonic 方式,使用 itertools.chain.from_iterable
来展平你的列表,然后使用 str.join()
方法连接字符:
In [12]: from itertools import chain
In [13]: lst = [['A','B'],['C','D']]
In [14]: ''.join(chain.from_iterable(lst))
Out[14]: 'ABCD'
这里是针对使用两个 join
的基准测试,它表明 itertools
方法快 2 倍:
In [19]: %timeit ''.join(chain.from_iterable(lst))
10000 loops, best of 3: 114 µs per loop
In [20]: %timeit ''.join(''.join(w) for w in lst)
1000 loops, best of 3: 250 µs per loop
关于python - 无法将每个子列表中包含 2 个元素的列表转换为单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40946813/