Python:如何在连接函数中放置列表解析?

xpcnnkqh  于 2023-06-28  发布在  Python
关注(0)|答案(2)|浏览(111)

如何将列表解析放入连接函数中
我运行了这个:

q = 1283634
print(f'{" ".join([str(q)[i:i+3] for i in range(len(str(q)),0,3)])}')

并打印

>>>

但我希望能打印出来

>>> 1 283 634

有人能解释一下我做错了什么吗?

mwngjboj

mwngjboj1#

问题是你的范围错了。使用str(q)的长度作为起始值,使用0作为结束值。你应该做相反的事情:range(0, len(str(q), 3)。如果你想向后迭代,你可以使用一个负步骤:range(len(str(q)), 0, -3)
请记住,range的形式如下:range(start, stop, step=1),其中start是起始索引,stop是结束索引,step是可选的,是索引的增量。

4smxwvx5

4smxwvx52#

试试这个

q = 1283634
       #Joining    # First number   # Rest of number in pair of 3
print(" ".join(   [str(q)[0]]  +   [str(q)[i:i+3] for i in range(1, len(str(q)), 3)]))

输出量
或者你可以用这种方式

q = 1283634

formatted_q = "{:,}".format(q).replace(",", " ")
print(formatted_q)

输出量
这里"{:,}".format(q)将返回一个格式化的字符串,像这样"1,283,634",然后使用replace方法,我只是用一个空格“”替换“,”。

相关问题