如何在不使用Python分隔每个字母的情况下联接每个输入?

时间:2019-04-18 21:18:38

标签: python python-3.x string list formatting

我正在投票系统中,我正在输入内容,“用户”在哪里放置候选人的姓名,并且该名称已注册,但是当“用户”(又名“我”)按“ “ 0”退出,通常会显示候选人列表,但字母会分开显示并带有逗号,例如“ T,h,o,m,a,s”或“ P,e,t,e,r”。

我尝试将其设置为字符串,并使用“ join”功能,但它会将每个字母中的空格“,”相乘。

def urna():
    candidatos = []
    completo = False
    while completo == False:
        adicionar = input("Coloque seus candidatos aqui, ( 0 para sair ): ")
        if adicionar == "0":
            candidatos_formatados = " ".join(candidatos)
            print()
            print("Fim!")
            print()
            print("Esse foi(ram) o(s) candidato(s) registrado(s):", candidatos_formatados)
            break 

        else:
            print()
            candidatos.extend(adicionar)
            print("Foi adicionado(a) o(a) candidato(a) %s" % adicionar)
            print()

我希望输出如下:“ Thomas,Peter,Johann,Hawking,Stephen”等等; 但是此打印的实际输出是:“ T,h,o,m,a,s”,请看下面的图片:

My printscreen of the issue

3 个答案:

答案 0 :(得分:0)

您需要append而不是extend

k = []

k.append("Tom")   # k == ["Tom"]

k.extend("Apple") # K == ["Tom", "A", "p", "p", "l", "e"]

请参见Difference between append vs. extend list methods in Pythonmore on lists

答案 1 :(得分:-1)

您应该使用list.append()函数而不是list.extend()来向念珠菌(列表)添加偶数(字符串)。

有关append()和extend()的区别,请参见此answer

答案 2 :(得分:-1)

extend():遍历参数并将每个元素添加到列表中。

l = ['hello']
l.extend('world')
l = ['hello', 'w', 'o', 'r', 'l', 'd']

append():将其参数作为单个元素添加到列表的末尾。

l = ['hello']
l.append('world')
l = ['hello', 'world']

您需要使用append()