What are the difference between sep and end in print function?

前端 未结 4 798
南方客
南方客 2020-12-10 18:42
pets = [\'boa\', \'cat\', \'dog\']
for pet in pets:
    print(pet)

boa
cat
dog
>>> for pet in pets:
        print(pet, end=\', \')

boa, cat, dog, 
>>         


        
相关标签:
4条回答
  • 2020-12-10 18:57

    The following two are equivalent:

    print(*array, sep='abc')
    print('abc'.join(str(x) for x in array))
    
    0 讨论(0)
  • 2020-12-10 19:06

    The print function uses sep to separate the arguments, and end after the last argument. Your example was confusing because you only gave it one argument. This example might be clearer:

    >>> print('boa', 'cat', 'dog', sep=', ', end='!!!\n')
    boa, cat, dog!!!
    

    Of course, sep and end only work in Python 3's print function. For Python 2, the following is equivalent.

    >>> print ', '.join(['boa', 'cat', 'dog']) + '!!!'
    boa, cat, dog!!!
    

    You can also use a backported version of the print function in Python 2:

    >>> from __future__ import print_function
    >>> print('boa', 'cat', 'dog', sep=', ', end='!!!\n')
    boa, cat, dog!!!
    
    0 讨论(0)
  • 2020-12-10 19:21

    In array variable instead of sep you can use join

    pets = ['boa', 'cat', 'dog']
    res=",".join(pets)
    print(res)
    

    Output

    boa,cat,dog
    
    0 讨论(0)
  • 2020-12-10 19:24

    sep='' and end='' are two different thing. ignore space and make variable as a single string.. like: a b-->ab But end='' make a b -->a b see the below example. for sep=' '

    from itertools import permutations
    s,k = input().split()
    for i in list(permutations(sorted(s), int(k))):
        print(*i,sep='')
    
        ''' output for sep='': 
        HACK 2
        AC
        AH
        AK
        CA
        CH
        CK
        HA
        HC
        HK
        KA
        KC
        KH
        '''
    

    for end=' '

        from itertools import permutations
    
        s, k = input().split()
        for i in list(permutations(sorted(s), int(k))):
            print(*i, end='')
        '''
    HACK 2
    A CA HA KC AC HC KH AH CH KK AK CK H
    Process finished with exit code 0
    '''
    
    0 讨论(0)
提交回复
热议问题