Eli
Eli

Reputation: 9

How to return a list with brackets?

I wrote this code and its giving me a list as output without brackets example 4,3,2,1, where I wanted to return [4,3,2,1].

Please let me know where my small mistake is.

def inverse(mdg):
    i = 0
    Sr = ''
    while i < len(mdg):
        Sr =Sr + mdg[-(i+1)]
        i = i+1
    return Sr
ch = (input('Veuillez entrer une liste des valeurs separees par virgules: '))
l1 = list(ch.split(','))
print((",".join(inverse(l1))))

Upvotes: 1

Views: 146

Answers (2)

The6thSense
The6thSense

Reputation: 8335

First of all you are returning a string not a list

If that's what you want the just add [ to beginning and ] to the end of the string like this

Modification:

def inverse(mdg):
    i = 0
    Sr = ''
    while i < len(mdg):
        Sr =Sr + mdg[-(i+1)]
        i = i+1
    return Sr
ch = (input('Veuillez entrer une liste des valeurs separees par virgules: '))
l1 = list(ch.split(','))
print("["+",".join(inverse(l1))+"]")

Try adding to list instead of string to return a list

Code:

def inverse(mdg):
    i = 0
    Sr = []  # Create list
    while i < len(mdg):
        Sr  += mdg[-(i+1)] # Add to list
        i = i+1
    return Sr  # Return list 
ch = input('Veuillez entrer une liste des valeurs separees par virgules: ')
l1 = ch.split(',')
print(inverse(l1))

Output:

Veuillez entrer une liste des valeurs separees par virgules: 1,2,3,4
['4', '3', '2', '1']

There is no need to create a function to reverse a list it can be done as simple as this

Code2:

ch = input('Veuillez entrer une liste des valeurs separees par virgules: ')
l1 = ch.split(',')
print(l1[::-1]) # Reverses the list

The output is a list of string if you want a list of numbers

use this snippet before printing

snippet:

print (map(int,listofstrings)) # Prints list of numbers

Upvotes: 2

Curry
Curry

Reputation: 895

The question is about return string like '[4,3,2,1]', not list. Also it need to remove " of elements.

Code

def inverse(mdg):
    """This function reversed string without quotemark of reversed list of splitted input by ','
    """
    return ",".join(reversed(mdg.split(','))).join(["[", "]"])

Sample

>>> ch = (input('Veuillez entrer une liste des valeurs separees par virgules: '))
Veuillez entrer une liste des valeurs separees par virgules: 1,2,3,4
>>> inverse(ch)
'[4,3,2,1]'
>>> print(inverse(ch))
[4,3,2,1]

Or just add '.join(["[", "]"])

def inverse(mdg):
    i = 0
    Sr = ''
    while i < len(mdg):
        Sr =Sr + mdg[-(i+1)]
        i = i+1
    return Sr
ch = (input('Veuillez entrer une liste des valeurs separees par virgules: '))
l1 = list(ch.split(','))
print((",".join(inverse(l1)).join(['[',']'])))

Upvotes: 1

Related Questions