我有一个字典,其中包含字典,也可能包含字典,例如
dictionary = {'ID': 0001, 'Name': 'made up name', 'Transactions':
{'Transaction Ref': 'a1', 'Transaction Details':
{'Bill To': 'abc', 'Ship To': 'def', 'Product': 'Widget A'
...} ...} ... }
Run Code Online (Sandbox Code Playgroud)
目前我打开包装以获取ID 001的'Bill To','Transaction Ref'a1如下:
if dictionary['ID'] == 001:
transactions = dictionary['Transactions']
if transactions['Transaction Ref'] == 'a1':
transaction_details = transactions['Transaction Details']
bill_to = transaction_details['Bill To']
Run Code Online (Sandbox Code Playgroud)
我不禁想到这是一个有点笨重,特别是最后两行 - 我觉得下面的内容应该有效:
bill_to = transactions['Transaction Details']['Bill To']
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法可以深入到嵌套字典而无需解压缩到临时变量?
我试图在导入的字符串中剪切第一个短语,该字符串总是采用以下形式:
"\first phrase\\...\ ... "
第一个短语可以是任何长度,由多个单词组成
我最初尝试的代码是:
phrase = s[1:s.find('\',1,len(s))]
Run Code Online (Sandbox Code Playgroud)
这显然不起作用.
r'\' 不会编译(返回EOL错误).
以下变化: r'\\\'; r'\\\\\\\', "\\\", "\\\\\\\""
解决:phrase = s[1:-1].
因为第一个字符总是反斜杠我也尝试过:
phrase = s[1:find(s[0:1],1,len(s))], but it wasn't having any of it.
Run Code Online (Sandbox Code Playgroud)
任何建议表示赞赏,这应该是一个10分钟的工作!