如何用Python的f-string调试数组时展开索引的=语法?
用F-String实现自定义数组调试输出格式
Python的f-string =语法能快速输出变量名和对应值,但调试数组时默认输出arr[i]=值,无法直接展示索引的具体数值。针对两种目标输出格式,给出以下解决方案:
格式1:输出arr[i=0]=1这类带索引变量名的格式
直接拆分构造输出内容,手动拼接索引的i=部分和数组取值:
arr = [1,2,3] for i in range(len(arr)): print(f'arr[{i=}]={arr[i]}')
运行输出:
arr[i=0]=1 arr[i=1]=2 arr[i=2]=3
格式2:输出arr[0]=1这类直接显示索引数值的格式
手动构造数组索引和取值的字符串,或者对默认输出做替换:
方法1:直接拼接(推荐)
arr = [1,2,3] for i in range(len(arr)): print(f'arr[{i}]={arr[i]}')
方法2:利用f-string =语法做替换
如果想保留f-string自动取值的特性,可对默认输出的字符串做替换:
arr = [1,2,3] for i in range(len(arr)): print(f'{arr[i]=}'.replace('i', str(i)))
两种方法的运行输出均为:
arr[0]=1 arr[1]=2 arr[2]=3
内容的提问来源于stack exchange,提问作者MathArt
相关产品推荐
相关产品推荐

