【问题标题】:How to display the last element using join python如何使用join python显示最后一个元素
【发布时间】:2021-06-28 07:31:29
【问题描述】:

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,注意显示了尺寸,但它总是取变量estoque_formated 的索引0 我怎样才能得到第一个索引并添加它?示例从 0 开始到 1 再到 2...等等?好吧,我需要解决我所说的索引问题,为了得到它,我能够显示 estoque_formated 变量的大小和值,即使它是最后一个元素,我想修改脚本尽可能少可能。

【问题讨论】:

  • 它对我有用。我可以看到所有:20, 34, 34,5 and 40 由另一个字符串连接。
  • 顺便说一句:estoque_formated[0] 始终是字符串的第一个字符 estoque_formated
  • @quamrana 注意列表的最后一个大小,在本例中为 40,它不显示股票的 0
  • 这是什么意思?我看到你所有的(尺寸?你能帮我翻译一下葡萄牙语吗)中间有另一个字符串。你了解.join()方法的作用吗?也许你应该用你想看到的打印内容来更新你的问题。
  • @quamrana 我已经编辑了

标签: python python-3.x python-2.7


【解决方案1】:

好的,所以你只需要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的地方。我会更新的。 . .
  • 非常感谢兄弟
【解决方案2】:

当您可以遍历两个列表并根据需要打印时,为什么还要使用 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

【讨论】:

    【解决方案3】:

    你可以写

    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
    

    【讨论】:

      猜你喜欢
      • 2019-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      相关资源
      最近更新 更多