Python:从json对象

时间:2015-12-18 13:19:04

标签: python json list

我有像

这样的对象
{'a':['','','sample']}

我删除了每个空白值

{'a':['sample']}

现在问题是只有一个我不想要数组的值,那么如何删除数组

结果应为

{'a':'sample'}    

4 个答案:

答案 0 :(得分:0)

假设您已经a={'a':['sample']}而想要摆脱阵列。假设您确定所有值都是数组。我们来做吧!

if len(a['a']) == 1:
    a = {'a': a['a'][0]}

在这里,您首先使用a['a']提取数组本身,然后处理其第一个成员。

这是Python解释器中的样子。

>>> a={'a':['sample']}
>>> a
{'a': ['sample']}
>>> a={'a':a['a'][0]}
>>> a
{'a': 'sample'}

答案 1 :(得分:0)

使用for loop and iterating dictionary values

<强>代码:

sam = {'a':['sample'],'b':[1,2,3]}
for key, value in sam.items():
    if isinstance(value,list) and len(value) == 1:
        sam[key] = value[0]
print sam 

<强>输出:

{'a': 'sample', 'b': [1, 2, 3]}

备注:

  • 程序正在迭代key, value元组
  • 我们正在检查每个值是否为list and length is equal to 1
  • 如果是这样,我们将获得第一个元素

答案 2 :(得分:0)

def reduce(arr):
    out = [ i for i in arr if i ]
    return out[0] if len(out) == 1 else out
obj = {'a':['','','sample']}
obj = {k: reduce(val) for k, val in obj.iteritems()}

答案 3 :(得分:0)

mydict = {'a':['','','sample'], 'b':['','','table']}

str = ""

for key, value in mydict.items():

    for i in value:
        str += ''.join(i)

    value = ''.join(str)

    str = ""

    mydict[key] = value