定义字符串中的Python语法错误
我必须使用以下代码:定义字符串中的Python语法错误,python,syntax,Python,Syntax,我必须使用以下代码: local_arg = "1 : ASD|2|3|4|5, 2 : BSD|4|3|2|1, " result_arg = {} result_arg = {"inf" : {local_arg}} 语法错误(无效语法):result_arg={“infos”:{local_arg} 怎么了 我想用它来做这个: result_arg["inf"][number] 我试过使用: result_arg = {} result_arg = {"inf" : {1 : ASD|
local_arg = "1 : ASD|2|3|4|5, 2 : BSD|4|3|2|1, "
result_arg = {}
result_arg = {"inf" : {local_arg}}
语法错误(无效语法):result_arg={“infos”:{local_arg}
怎么了
我想用它来做这个:
result_arg["inf"][number]
我试过使用:
result_arg = {}
result_arg = {"inf" : {1 : ASD|2|3|4|5, 2 : BSD|4|3|2|1,}}
这是可行的,但我的地图将自动创建,因此使用它不是一个解决方案。您首先需要使用
,
拆分本地参数,然后使用len>1
使用:
(用于避免”
)拆分字符串:
所以你可以这样做:
>>> s=[j.split(':') for j in local_arg.split(',') if len(j)>1]
>>> s
[['1 ', ' ASD|2|3|4|5'], [' 2 ', ' BSD|4|3|2|1']]
>>> {'inf':{i:j for i,j in s }}
{'inf': {'1 ': ' ASD|2|3|4|5', ' 2 ': ' BSD|4|3|2|1'}}
在代码末尾,单词ay
result\u arg
将如下所示
{'inf': {'1 : ASD|2|3|4|5, 2 : BSD|4|3|2|1, '}}
这里的result\u arg['inf']
是一个集合
。不是具有键值对的字典。所以你得到了错误。代码中可能还有其他问题,它应该给出TypeError
而不是SyntaxError
从字符串中,你可以这样接近
local_arg = "1 : ASD|2|3|4|5, 2 : BSD|4|3|2|1, "
d = [itm.split(':') for itm in local_arg.strip().split(',') if itm]
c = dict((int(itm[0]), itm[1]) for itm in d)
result_arg = {}
result_arg = {"inf" : c}
ASD|2|3|4|5
现在你可以打印了
print result_arg["inf"][1]
将给您这样的输出
local_arg = "1 : ASD|2|3|4|5, 2 : BSD|4|3|2|1, "
d = [itm.split(':') for itm in local_arg.strip().split(',') if itm]
c = dict((int(itm[0]), itm[1]) for itm in d)
result_arg = {}
result_arg = {"inf" : c}
ASD|2|3|4|5
字典必须有钥匙和钥匙value@TidB:但在Python2.7及更高版本中,您可以定义这样的集合<代码>{value1,value2,value3}是一个集合,而不是字典。大概OP使用的是Python的旧版本。呃,我不知道,谢谢!
local_arg
是否始终是字符串?然后你需要把它解析成键值对。Sombody可以举个例子吗?(我不太懂英语)我的语法错误是:c=dict((int(itm[0]),itm[1]),因为d中的itm)我不知道你的字符串是什么样的,你的问题中也没有提到它。在提问时,试着给出适合您的示例输入。给出带有SyntaxError
的消息,谢谢您的帮助,不管怎样,我只得到了这个消息:SyntaxError-无效的syntaxer没有人可以帮您提供此信息。粘贴完整的代码显示您从何处获取此SyntaxError
。如果在复制粘贴我的代码后出现错误,那么可能会出现缩进问题。我尝试过,但在以下方面出现语法错误:result_arg={'inf':{I:j for I,j in s}}我没有得到详细的错误消息,我只得到了“ErrorSyntax:Invalid string-strings”…,你有skype吗?我真的需要帮助。代码对我来说工作正常?我想你打字有错误?我想看看你要运行的代码!我只能说你不需要result\u arg={}
,但我看不到任何错误!你有skype id或facebook吗?有其他选择吗?