如何使用 join python 显示最后一个元素

How to display the last element using join python

python的join方法忽略了列表中的最后一个元素,但是我希望能够无问题地显示,看我的代码:

import re
estoque = [0,1,20,0]                      
estoque_formated = '\n'.join([str(elem) for elem in estoque])
tamanho = [20, 34, 34.5, 40]                    
joined = f' Em estoque: {estoque_formated[0]}\n'.join(["Tamanho: " + str(elem) for elem in tamanho])                                            
print(joined)

我想要的脚本输出是这样的:

 Tamanho: 20 Em estoque 0
 Tamanho: 34 Em estoque 1
 Tamanho: 34.5 Em estoque 20
 Tamanho: 40 Em estoque 0

Obs,请注意显示了尺寸,但它始终采用变量的索引 0 estoque_formated 如何获取第一个索引并添加它?例如从 0 开始到 1 然后 2...等等?好吧,我需要像我说的那样解决索引问题,为了得到它,我能够显示 estoque_formated 变量的大小和值,即使它是最后一个元素,我想将脚本修改为越少越好。

好的,所以您只需要 join 最后的结果字符串。您需要 zip() 来配对来自两个不同列表的项目:

estoque = [0,1,20,0]                      
tamanho = [20, 34, 34.5, 40]                    

joined = [f'Tamanho: {t} Em estoque: {s}' for t,s in zip(tamanho,estoque)]
print('\n'.join(joined))

按要求输出(移动了'\n'

当您可以遍历两个列表并根据需要打印时,为什么要使用 join

estoque = [0,1,20,0]                      
tamanho = [20, 34, 34.5, 40]                    

for i in range(4):
    print(f'Tamanho: {tamanho[i]}\tEm estoque: {estoque[i]}')

Output:

Tamanho: 20 Em estoque: 0
Tamanho: 34 Em estoque: 1
Tamanho: 34.5   Em estoque: 20
Tamanho: 40 Em estoque: 0

你可以直接写

estoque = [0, 1, 20, 0]
tamanho = [20, 34, 34.5, 40]
print(*(f"Tamanho: {t} Em estoque: {e}" for t, e in zip(tamanho, estoque)), sep="\n")

要获得正确填充的输出,您可以相应地设置值的格式:

print(*(f"Tamanho: {t:4} Em estoque: {e:2}" for t, e in zip(tamanho, estoque)), sep="\n")

这将导致

Tamanho:   20 Em estoque:  0
Tamanho:   34 Em estoque:  1
Tamanho: 34.5 Em estoque: 20
Tamanho:   40 Em estoque:  0