列表中数字元素转字符串的不同解法

  有如下问题:将列表 l = [1,2,3,4,5,9,6,5,44,556,445,20] 中的各个数字元素拼接成数字形式的字符串。

  当然 由于列表中的元素都是数字,我们不能直接用join方法:

  方案一:直接遍历加str()

l = [1,2,3,4,5,9,6,5,44,556,445,20]
s = ''
for i in l:
    s += str(i)
print(s)

结果为:

  方案二:利用map函数与join方法

l = [1,2,3,4,5,9,6,5,44,556,445,20]
s = map(lambda x:str(x),l)
a = ''.join(list(s))
print(a)

  方案三:在前两个的基础上简化一下:

l = [1,2,3,4,5,9,6,5,44,556,445,20]
print(''.join(str(item) for item in l))

  当然,有些别样的大佬喜欢正则表达式——虽然效率不高:

import re
l = [1,2,3,4,5,9,6,5,44,556,445,20]
print(''.join(re.findall('\d+',str(l))))

  当然也可以这样正则:

import re
l = [1,2,3,4,5,9,6,5,44,556,445,20]
print(re.sub(r'\D+','',str(l)))

 

posted on 2018-06-06 13:47  江湖乄夜雨  阅读(1713)  评论(0编辑  收藏  举报