Python 在输出中获取额外的单引号

Python 在输出中获取额外的单引号,python,Python,我正在用Python解决一个简单的代码来打印随机生成的票号。但当我打印车票号码列表时,它会给出额外的单引号 请参阅以下代码: #PF-Exer-22 import random def generate_ticket(airline,source,destination,no_of_passengers): ticket_number_list=[] src = source[0:3] dest = destination[0:3] listof_passong

我正在用Python解决一个简单的代码来打印随机生成的票号。但当我打印车票号码列表时,它会给出额外的单引号

请参阅以下代码:

#PF-Exer-22
import random

def generate_ticket(airline,source,destination,no_of_passengers):
    ticket_number_list=[]
    src = source[0:3]
    dest = destination[0:3]
    listof_passonger = []
    random_number_list = []
    random_number = 0
    random_number = 102
    for loop  in range(0, no_of_passengers):

        #if(random_number in random_number_list):
        #random_number = random.randint(101,500)
        #else:
        #random_number_list.append(random_number_list)
        random_number = random_number + 1
        ticket_number = airline + ":" + src + ":" + dest + ":" + str(random_number)
        ticket_number_list.append(ticket_number)

    return ticket_number_list


print(generate_ticket("AI","Bangalore","London",7))
执行上述代码时,我的输出是:-

['AI:Ban:Lon:103', 'AI:Ban:Lon:104', 'AI:Ban:Lon:105', 'AI:Ban:Lon:106', 'AI:Ban:Lon:107', 'AI:Ban:Lon:108', 'AI:Ban:Lon:109']
但我的预期产出是:-

[AI:Ban:Lon:103,AI:Ban:Lon:104,AI:Ban:Lon:105,AI:Ban:Lon:106,AI:Ban:Lon:107]
正如您所看到的,没有一个代码是预期的输出

请参阅下图:


这是在python中处理
字符串列表时的预期行为

范例


#声明列表
L=[1,“a”,“字符串”,1+2]
打印L
L.1(6)
打印L
L.pop()
打印L
打印L[1]
输出

[1,'a','string',3]
[1,'a','string',3,6]
[1,'a','string',3]
A.
如果您不想在输出中显示
。您可以单独打印元素,也可以使用
join()
函数,如下所示

#示例代码
val=['A','B','C']
打印(“:”.join(val))
#结果
A:B:C

函数返回字符串列表。当您尝试打印此列表时,它显示列表中的单个元素是字符串。 因此,要获得所需的输出,您只需执行以下操作:

  • 将函数的结果存储在列表中
  • 访问此列表中的各个项目,这些项目将以您所需的格式显示
  • 生成的代码如下所示

    def generate_ticket(airline,source,destination,no_of_passengers):
        ticket_number_list=[]
        src = source[0:3]
        dest = destination[0:3]
        listof_passonger = []
        random_number_list = []
        random_number = 0
        random_number = 102
        for loop  in range(0, no_of_passengers):
    
            #if(random_number in random_number_list):
                #random_number = random.randint(101,500)
            #else:
                #random_number_list.append(random_number_list)
            random_number = random_number + 1
            ticket_number = airline + ":" + src + ":" + dest + ":" + str(random_number)
            ticket_number_list.append(ticket_number)
    
        return ticket_number_list
    
    print(generate_ticket("AI","Bangalore","London",7))
    l = generate_ticket("AI","Bangalore","London",7)
    for item in l:
        print(item)
    

    这是例外的结果。您正在打印一个列表,该列表中有字符串。因此Python添加了
    。当您打印列表时,默认情况下,列表中的所有
    str
    项都将用单引号括起来。如果您希望它如您所期望的那样,那么您必须循环项目并构造一个字符串。或者使用
    join
    您的输出是
    字符串列表
    ,这就是它在Python中的打印方式。如果你解释一下为什么你不需要在字符串周围加上这些单引号,我们可以更好地帮助你?@AkshayNevrekar Hi Akshay,实际上这是我练习python的infytq.com网站上的问题。而预期的输出就是他们自己的输出。当我验证他们的测试用例时,它失败了,因此我需要一些其他的解决方案来删除这些引号,或者需要一些其他的解决方案来获得预期的输出StackOverflow不是一个代码编写服务。你贴的图片让我觉得这是某种教育中的一种练习——也许教育中有一些材料解释了如何做到这一点?你查过了吗?你发现了什么?我认为分隔符应该仍然是
    ,而不是
    (这些只是字符串的一部分),但我相信OP可以找到如何更改的方法。是的!这只是一个帮助理解
    join()
    如何工作的示例。使用
    会让人困惑,因为它们在打印列表对象时也存在。