列表中数字元素转字符串的不同解法
有如下问题:将列表 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)))