.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() 返回字母而不是字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用石墨烯在 Graphql 中返回字典而不是字符串

如何在c ++中增加字母?

在这个 javascript 字谜问题中,我一直在变得虚假而不是真实

python判断字符串是不是包含字母

Python-redis keys()返回字节对象列表,而不是字符串解决办法

为啥某些文件的组显示数字(看起来像 ID),而不是字母字符串?