Python执行a=[2];a.append(3)后,如何将输出[2,3]改为23?
实现列表输出为"23"的几种方法
嘿,这个需求挺实用的,我给你整理了几个简单可行的办法,都能让print(a)输出23而不是默认的[2, 3]:
字符串拼接法:把列表元素转成字符串后无缝拼接
a = [2] a.append(3) print(''.join(map(str, a))) # 输出: 23原理是
map(str, a)将列表里的每个数字转为字符串类型,再用''.join()把这些字符串直接连在一起,没有任何分隔符。解包+自定义分隔符:利用print的参数解包特性
a = [2] a.append(3) print(*a, sep='') # 输出: 23*a会把列表中的元素拆成print的独立参数,sep=''强制设置参数之间的分隔符为空,两个数字就会紧挨着输出成23。索引取值拼接:适合列表长度固定的场景
a = [2] a.append(3) print(f"{a[0]}{a[1]}") # 输出: 23直接通过索引取出列表里的两个元素,用f-string把它们拼接成字符串输出,简单直观,适合小长度的列表。
自定义列表类(一劳永逸版):如果需要多次打印这类格式的列表,可以自定义列表的字符串表现
class CustomList(list): def __str__(self): return ''.join(map(str, self)) a = CustomList([2]) a.append(3) print(a) # 输出: 23继承原生list类,重写
__str__方法,这样每次print这个自定义列表时,都会自动用我们定义的拼接逻辑输出,不用每次都手动处理。
内容的提问来源于stack exchange,提问作者Shahzad Khan
相关产品推荐
相关产品推荐

