pythonlisttuples

How to remove the last comma from tuples?


How can I remove the comma from each tuple in the list.
I want to make a list of tuples from one list like this:

l = [1,2,3,5,4]

l1 = [ ]

l2 =  [ ]

for i in l:

    l1.append (i)
    t = tuple(l1)
    l2.append(t)
    l1 = []

print l2

Expected result:

[(1), (2), (3), (5), (4)]

Real result:

[(1,), (2,), (3,), (5,), (4,)]

Solution

  • If you only want the first element of each tuple in the list displayed (without a comma), you can always manually format the output by using something like this:

    l = [1, 2, 3, 5, 4]
    l1 = []
    l2 = []
    for i in l:
        l1.append(i)
        t = tuple(l1)
        l2.append(t)
        l1 = []
    
    print '[' + ', '.join('({})'.format(t[0]) for t in l2) + ']'
    

    Output:

    [(1), (2), (3), (5), (4)]
    

    BTW, you could also shorten the construction of l2 to just this:

    l2 = [tuple([value]) for value in l]