Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-返回和打印不会给出相同的结果_Python - Fatal编程技术网

python-返回和打印不会给出相同的结果

python-返回和打印不会给出相同的结果,python,Python,我试图做的是将输入的字符串用逗号分隔,并将其更改为list,然后将每个list作为一个键打印相关值 def main(): myDict = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5....} u_input = input("Enter a letter") myList = [x.strip() for x in u_input.split(',')] result = searchDict(myList) print(re

我试图做的是将输入的字符串用逗号分隔,并将其更改为list,然后将每个list作为一个键打印相关值

def main():
    myDict = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5....}
    u_input = input("Enter a letter")
    myList = [x.strip() for x in u_input.split(',')]
    result = searchDict(myList)
    print(result)

def searchDict(key):
    for ml in key:
        value = myDict.get(ml, "not found")
        re = []
        re.append(value)
        print('-'.join(re)) #this one shows each value for each entered key separated by comma but it does not print it in one line also prints 'None' on the end

    #res = '-'.join(re)
    #return res //this only shows the value for the first key only even if I enter multiple letter

main();
问题是,如果我返回'res'而不是打印它,我只得到第一个键值

打印输出(如果输入a、b):
1、2、无


返回
1

的输出这些行缩进是否正确

for ml in key:
value = myDict.get(ml, "not found"); 
re = [];
re.append(value)
我想你希望它这样做:

re = []
for ml in key:
    value = myDict.get(ml, "not found")    
    re.append(value)
return '-'.join(re)

顺便说一句,Python中没有使用分号。

我认为这是因为在每个循环中都重置了
re
。尝试将
re=[]
置于for循环之外。

如果显示输出,这可能是一个更好的问题@Kasra,我已经包括了我得到的。另外,你必须小心缩进、语法和代码验证!!拒绝投票@卡斯拉,好的,明白了,谢谢,成功了。我只是在这里再次输入代码,这就是原因。