如何返回带括号的列表?

时间:2015-10-29 06:14:53

标签: python python-3.x

我写了这段代码,它给了我一个列表作为输出而没有括号 示例4,3,2,1,我想返回[4,3,2,1]

请告诉我我的小错误。

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))))

2 个答案:

答案 0 :(得分:2)

首先,您要返回的字符串不是列表

如果这就是您想要的,只需将[添加到开头,将]添加到字符串末尾,就像这样

<强>修饰:

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))+"]")

尝试添加到list而非string以返回列表

<强>代码:

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))

<强>输出:

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

没有必要创建一个函数来反转列表,就像这个

一样简单

<强>代码2:

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

如果您需要数字列表

,则输出是字符串列表

在打印前使用此代码段

<强>片段:

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

答案 1 :(得分:1)

问题是关于返回字符串,如'[4,3,2,1]',而不是列表。 还需要删除“元素。

代码

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

样品

>>> 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]

或者只是添加'.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(['[',']'])))