.get() 返回字母而不是字符串
Posted
技术标签:
【中文标题】.get() 返回字母而不是字符串【英文标题】:.get() returning letters rather than strings 【发布时间】:2019-01-19 17:19:03 【问题描述】:我有一个结构如下的字典列表:
json_data = ['a':10,'text':"Salam",'a':4,'text':"Hello Friend"]
我已经能够遍历列表并从每个字典中提取键“文本”:
json1_text = [[[value] for value in json1_data[index].get('text')] for
index in range(len(json1_data))]
但是,新的 json1_text 列表不包含从字典返回的句子,而是每个单独的字母:
json1_text[0]
返回:
[['S'],['a'],['l'],['a'],['m']]
我如何能够返回整个句子“Hello Friend”而不是每个单独的字母并将每个字母存储在一个列表中?
提前致谢!
【问题讨论】:
我在key 'text' from each dictionary
失去了你。您在json_data
中的字典没有'text'
键。
+jpp,字典的结构并不完全相同——它实际上是一个极其复杂的字典。我的问题与密钥错误无关,因此密钥是或不是对问题没有影响。 @Henry Yik 能够为我提供解决问题的正确语法。
【参考方案1】:
json1_text = [v for i in json_data for k,v in i.items() if isinstance(v,str)]
print (json1_text)
结果:
['Salam', 'Hello Friend']
【讨论】:
以上是关于.get() 返回字母而不是字符串的主要内容,如果未能解决你的问题,请参考以下文章
在这个 javascript 字谜问题中,我一直在变得虚假而不是真实