【问题标题】:How to remove commas from printed result?如何从打印结果中删除逗号?
【发布时间】:2021-03-19 18:11:10
【问题描述】:

我需要打印这个不带逗号的列表,但我似乎不知道怎么做。

data = (
    ('Sabrina Bryan,1/3/98,ss9387,f9;s1;m1,99km'),
    ('Fergus Connon Archer,11/21/89,ss5246,f1;s3,102km'),
    ('Adrian Harvey,3/3/78,ss1654,m5;s2,72km'),
    ('Patricia Abigail Wolf,9/5/00,ss0936,f3;s4;m8,134km'),
    ('Georgina Kramer,6/15/95,ss4837,f5;s2;m1,55km'),
    ('Glenn Julian Ayala,3/19/90,ss3689,s4;f3,152km'),
    ('Anita Davila,6/27/91,ss9367,f8,203km'),
    ('Gertrude Nunez,1/12/97,ss3948,s3;m1,34km'),
    ('Solomon Burton,8/5/88,ss7364,s2;f1,23km'),
    ('Rafael John Murray,10/19/01,ss9105,s9;f3,78km')
)

info = input("What would you like to do? ")
if info == 'b':
    for line in data:
        fname0 = data[0].split(' ')
        lname0 = fname0[1].split(',')
        bday0 = lname0[1].split('/')

        def Sabrina(fname0, bday0):
            print(fname0[0], *bday0[0:2], sep = ', ')
        print(Sabrina(fname0, bday0))

当我希望它打印“Sabrina 1 3”时,它正在打印“Sabrina, 1, 3”。我曾尝试使用.replace 命令*bday0[0:2].replace(',', ' '),但它只是给了我一个错误。有什么建议吗?

【问题讨论】:

    标签: python list printing format tuples


    【解决方案1】:

    你不需要.replace()


    print(fname0[0], *bday0[0:2])
    

    print(fname0[0], *bday0[0:2], sep = ' ')
    

    会给你想要的输出。

    【讨论】:

    • 我正在这样做,它仍然在不同元素之间用逗号打印。编辑:没关系,我只是想通了我做错了什么XD
    【解决方案2】:

    我想出了一个快速解决您问题的方法:

    它基于 F-Strings 的使用。使用此格式化解决方案,您可以通过实现变量来快速格式化字符串,而不会忽略输出格式,还可以向函数添加返回值。

    功能代码片段

     def Sabrina(fname0, bday0):
            return f"{fname0[0]}, {bday0[0]} {bday0[1]}"
    

    这里有更多与f-strings formatting explained相关的信息。

    如果您可以解决值被硬编码的问题,那将是一个很大的改进。但是为了快速实施,这应该会有所帮助。

    如果这回答了您的问题,请告诉我。 干杯!

    完整的工作代码片段

    data = (
    ('Sabrina Bryan,1/3/98,ss9387,f9;s1;m1,99km'),
    ('Fergus Connon Archer,11/21/89,ss5246,f1;s3,102km'),
    ('Adrian Harvey,3/3/78,ss1654,m5;s2,72km'),
    ('Patricia Abigail Wolf,9/5/00,ss0936,f3;s4;m8,134km'),
    ('Georgina Kramer,6/15/95,ss4837,f5;s2;m1,55km'),
    ('Glenn Julian Ayala,3/19/90,ss3689,s4;f3,152km'),
    ('Anita Davila,6/27/91,ss9367,f8,203km'),
    ('Gertrude Nunez,1/12/97,ss3948,s3;m1,34km'),
    ('Solomon Burton,8/5/88,ss7364,s2;f1,23km'),
    ('Rafael John Murray,10/19/01,ss9105,s9;f3,78km'))
    
     info = input("What would you like to do? ")
     if info == 'b':
     for line in data:
          fname0 = data[0].split(' ')
          lname0 = fname0[1].split(',')
          bday0 = lname0[1].split('/')
    
        def Sabrina(fname0, bday0):
            return f"{fname0[0]} {bday0[0]} {bday0[1]}"
        
        
        print(Sabrina(fname0, bday0))
    

    【讨论】:

    • 对不起,我刚刚意识到我忘了删除逗号:f"{fname0[0]}, {bday0[0]} {bday0[1]}",应该是:f "{fname0[0]} {bday0[0]} {bday0[1]}"
    猜你喜欢
    • 2018-02-25
    • 1970-01-01
    • 2021-10-25
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多