2015-10-29 15 views
1

我写了这段代码,它给了我一个列表作为输出,没有括号 example 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)))) 
+0

是你真正的问题,使它打印这种方式(如果是的话,只需在之后添加'['之前和']'),还是实际建立一个数字列表(不charac ters)然后显示它? – Julien

回答

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] 

或者只是添加”。加入([ ”[“, ”]“])

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(['[',']']))) 
+0

有机会,该OP需要一个实际的列表,而不是字符串:) – The6thSense

+1

@VigneshKalai,如果只是想逆名单,名单(逆转(input_list)) ' 足够。 – Curry

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

'.split()'返回一个列表,所以你不需要再次调用'list()'函数。 –

+1

@KevinGuan是的谢谢。早上咖啡没有工作:P – The6thSense

+0

这个问题想要返回'[4,3,2,1]',而不是'['4','3','2','1' ]”。 – Curry

相关问题