python-从json对象中选择唯一的键值

2024-01-25

我有一个json回复:

{
  "data": [
  {
     "id": "1",
     "name": "Tom",
     "age": "24",
  },
  {
     "id": "2",
     "name": "Nick",
     "age": "45",
 },
 {
     "id": "3",
     "name": "Harry",
     "age": "18",
 },
 {
     "id": "1",
     "name": "Tom",
     "age": "29",
 }
],
 "count": 4
}

而且我要output像这样:

output[
{
   "id": "1",
   "name": "Tom",
   "age": "24",
},
{
   "id": "2",
   "name": "Nick",
   "age": "45",
},
{
   "id": "3",
   "name": "Harry",
   "age": "18",
}
]

我想要的是获取具有唯一名称的所有字典对象。 我知道如何获取唯一的名称,但我想获取id and age也。 有两个字典对象对应name Tom。我想在我的输出中保留一个。

这是获取唯一名称的工作代码:

size=len(data["data"])
uniqueNames = [];
for i in range(0,size,1):  
    if(data["data"][i]["name"] not in uniqueNames):
         uniqueNames.append(data["data"][i]["name"]); 
print uniqueNames

以下是修复代码的方法:只需保留名称注册表,然后添加一个算法来保留其余信息。对于我来说,我创建了另一个数组来存储具有唯一名称的整个数据对象,称为 returnValue。只要有唯一的名称,它就会将整个数据对象推送到 returnValue 上。然后,它打印出来(或者返回它,如果你把它变成一个函数)。

returnValue = []
size=len(data["data"])
uniqueNames = []
for i in range(0,size,1):  
    if(data["data"][i]["name"] not in uniqueNames):
         uniqueNames.append(data["data"][i]["name"]) 
         returnValue.append(data["data"][i])
print returnValue

由于作者的问题:

returnValue = []
badValues = []
size=len(data["data"])
uniqueNames = []
for i in range(0,size,1):  
    if(data["data"][i]["name"] not in uniqueNames):
         uniqueNames.append(data["data"][i]["name"]) 
         returnValue.append(data["data"][i])
    else:
         badValues.append(data["data"][i])
print "Good ones: " 
print returnValue
print "Bad ones: "
print badValues
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python-从json对象中选择唯一的键值 的相关文章

随机推荐

  • 动态迭代编程生成组合

    用我自己的程序版本更新 我正在尝试进行迭代动态编程来生成n choose k组合 假设我有 4 个值向量 v1 1 1 1 v2 2 2 2 v3 3 3 3 v4 4 4 4 现在我使用加法作为我的聚合函数 我想生成4 choose 2向
  • 无法删除 Cordova 插件

    我使用以下命令删除未使用的 Cordova 插件 cordova plugin remove cordova plugin facebook Uninstalling cordova plugin facebook from android
  • 更改配置文件 maven 中的源目录

    我想对特定的 Maven 配置文件使用不同的源目录 但是 当我尝试在配置文件定义中指定它时 出现此错误 Unrecognised tag sourceDirectory position START TAG seen
  • javascript代码阻止输入特殊字符以外的内容

    我正在编写一些简单的 JavaScript 来防止在我的表单中输入字符 我到了这个阶段 我能够阻止所有打字 并注意到它阻止了所有字符except特别的 比如 我可以使用以下命令在我的 mac 上输入 Option 字母键 我怎样才能防止这些
  • PyCharm 中类“”的未解析属性引用“对象”

    我使用社区pycharm python的版本是3 6 1 django是1 11 1 这个警告对运行没有影响 但我无法使用IDE的自动完成功能 您需要启用 Django 支持 去 PyCharm gt 首选项 gt 语言和框架 gt Dja
  • 当鼠标仍然按下时,如何防止在 Winforms Listview 中立即触发 MouseUp 事件?

    基本上 如果您有一个打开了多重选择的标准列表视图 则鼠标向上和向下事件可以正常工作 但是 如果您关闭多选并在列表视图上单击并按住鼠标按钮 则当鼠标按钮仍处于按下状态时 它会立即触发向下然后向上事件 有办法防止这种情况吗 我只希望在释放鼠标按
  • EF Core - 一个 sql 请求中的多个计数

    我试图从表中获取多个计数统计信息 但没有得到我想要的 Code var result db Users Select g gt new count db Users Count acCount db Users Count u gt u U
  • 在生成 PDF 时,如何将 Google 地图(或其他 GIS 地图)输出嵌入到 PDF 中?

    我需要在服务器端生成 PDF 文档 其中包括地图 标记等 但据我所知 由于 JavaScript 依赖 这对于 Google 地图来说是不可能的 有没有办法使用 Google Maps API 来实现此目的 或者是否有其他免费 或便宜 的替
  • Delphi XE2:调用 WinAPI EnumResourceNames 导致 Win64 平台中的访问冲突

    在Delphi XE2 Win32平台上运行以下代码可以正常工作 然而 在 win64 平台上编译的相同代码如果在调试模式下运行 将导致 EnumRCDataProc 中的访问冲突 procedure TForm2 Button1Click
  • 在目录中查找部分字符串匹配的文件

    我有一个包含以下文件的目录 apple1 json gz apple2 json gz banana1 json gz melon1 json gz melon2 json gz 我希望找到所有的apple banana and melon
  • Python解析包含函数、列表和字典的字符串

    我正在尝试找到方法来解析可以包含用 python 语法编写的变量 函数 列表或字典的字符串 并用 分隔 空格应该在任何地方都可以使用 因此当它不在 或 内时 请用 分隔 示例字符串 variable function1 1 3 functi
  • 从分支获取最新 Git 提交哈希的命令

    如何使用命令行检查特定 Git 分支的最新提交哈希值 git log n 1 branch name branch name 可能是远程或本地分支 是可选的 没有branch name 它将显示当前分支上的最新提交 例如 git log n
  • Clang - 将 C 标头编译为 LLVM IR/位码

    假设我有以下简单的 C 头文件 foo1 h typedef int foo typedef struct foo a char const b bar bar baz foo bar 我的目标是获取这个文件 并生成一个看起来像这样的 LL
  • 树莓派-gpio (sysfs) 上的 poll() 树莓派

    正如标题所述 我在将一些用户空间中断代码从另一个 armv7 嵌入式 Linux 平台移植到 Raspberry Pi 2 Model B 时遇到问题 我知道 WiringPi 库 并让它以这种方式工作 但出于评估原因 我希望在两个平台上运
  • 无法同时处理点击和触摸事件

    我正在尝试处理按钮上的触摸事件和单击事件 我执行以下操作 button setOnClickListener clickListener button setOnTouchListener touchListener 当注册任何一个侦听器时
  • Windows 每种语言版本的默认代码页

    在哪里可以找到有关 Windows 每种语言版本的默认代码页的信息 即 ANSI 每种语言版本的代码页 我找到了Windows 支持的代码页 http msdn microsoft com en us goglobal bb964654 a
  • 构建 AOSP 并添加具有运行时权限的系统应用程序

    我在 Android 6 AOSP 上工作 我能够构建添加应用程序作为系统应用程序 但现在我想在这个系统应用程序上默认添加运行时权限 这样应用程序就可以启动而无需要求用户验证权限 你知道我该怎么做吗 谢谢你的帮助 如果您的应用程序具有特权
  • 为什么 getSelectedItem 返回 null?

    我刚刚学习 OOP 对这篇基本文章感到抱歉 我不知道为什么当我尝试获取所选项目的值时它返回 nullJComboBox public class AddEmployee extends javax swing JInternalFrame
  • 所见即所得与所见即所得

    在基于 Web 的应用程序中 哪一个更好 更理想 Edit 实际上我正在开发一个社区网站 所以用户的水平可能会有所不同 听说 WYSIWYG 编辑器存在 XSS 安全问题 我也不熟悉所见即所得编辑器及其功能 据我所知WYSIWYM 编辑器中
  • python-从json对象中选择唯一的键值

    我有一个json回复 data id 1 name Tom age 24 id 2 name Nick age 45 id 3 name Harry age 18 id 1 name Tom age 29 count 4 而且我要outpu