Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从python字典创建边缘列表

从python字典创建边缘列表
EN

Stack Overflow用户
提问于 2011-12-26 21:57:36
回答 1查看 246关注 0票数 1

我有一本字典,结构如下:

代码语言:javascript
运行
AI代码解释
复制
1:{'Amendment': '1', 
   'status': 'Stadf\xc3\xa6stet', 
   'Name': 'Bodil Kornbek', 
   'title': 'L 1 Forslag til till\xc3\xa6gsbevillingslov for 2004.', 
   'fremsat': '2005-03-04', 
   'Vote.Numeric': '2', 
   'PSession': '1', 
   'vedtaget': '2005-04-12', 
   'Lsession': '3', 
   'Voteid': '38', 
   'Month': '4', 
   'Year': '2005', 
   'Vote': 'Frav\xc3\xa6rende', 
   'Party': 'KD', 
   'Law': 'L 1', 
   'ministerie': 'Finansministeriet'}

关键字的范围从1到大约500000,每个嵌套的字典包含一次投票的丹麦议会成员的信息。此外,还有标识该成员投票的唯一投票的信息。我想让每个成员提取该成员活跃的所有投票,并迭代地将该成员的投票行为与同一投票子集上活跃的所有其他成员进行比较。

理想情况下,对于每个成员,我会将该成员与其他成员在他们活跃的选票上进行比较,并计算他们投票相同的选票占他们所有共同选票的比例。如果该比例大于.65,则会将该对添加到列表中。

因此,最终结果应该是一个列表,格式如下:

代码语言:javascript
运行
AI代码解释
复制
[member1, member2
 member1, member4
 member1, member7
 member2, member5
 etc..
] 

我可以告诉我如何在python中做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-26 22:22:09

首先,让我们转换数据(我将在这里做一些假设),以便字典的关键字是国会议员(由Name标识),每个成员的数据是他们如何投票(Vote.Numeric)每个问题(Voteid)的映射,因此Voteids是该子字典中的关键字。我们可以丢弃不相关的其余信息。

非花哨的程序方式:

代码语言:javascript
运行
AI代码解释
复制
member_to_votes = defaultdict(dict)
for item in vote_data:
    member_to_votes[item['Name']][item['Voteid']] = item['Vote.Numeric']

现在让我们定义两个投票记录之间的相似性:

代码语言:javascript
运行
AI代码解释
复制
def votes_agree(member_a, member_b, threshold):
    # Find the union of issues they voted on...
    issues = set(member_a.keys()).union(member_b.keys())
    # See how many of these they voted the same way on (we use a placeholder
    # if one member did not vote on the issue, so that they automatically
    # disagree) and compare the fraction of agreeing votes to the threshold.
    # There is a little hack in here: `True` is 1 in a numeric context, and
    # `False` is zero, so we can add up the boolean results directly.
    return sum(
        member_a.get(issue, None) == member_b.get(issue, None)
        for issue in issues
    ) / float(len(issues)) >= threshold

现在,我们可以创建所有成员对,并查看哪些成员达成一致:

代码语言:javascript
运行
AI代码解释
复制
def agreeing_members(member_to_votes, threshold):
    return [
        [a, b] for a, b in itertools.combinations(member_to_votes.keys(), 2)
        if votes_agree(member_to_votes[a], member_to_votes[b], threshold)
    ]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8639378

复制
相关文章
在 Laravel 项目中编写第一个 Vue 组件
和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 React,实现细节参考官方文档。
学院君
2020/11/09
3.5K0
在 Laravel 项目中编写第一个 Vue 组件
Why Laravel? 40 Must-Have Laravel Tools and Resources
Project development is a combination of hard and soft skills. As a client, your main responsibility lies in the field of soft ones. Indeed, it’s developers’ task to write the code and embody your idea. You express your vision and the team provides hard skills to satisfy your needs. But in reality the process of development is more sophisticated.
用户6459740
2019/10/15
5160
laravel-admin 错误 Doctrine\DBAL\Driver\PDOMySql\Driver not found
问题 E:\code\test\ruku\ruku>php artisan admin:make ProcessController --model=App\Models\Process Symfony\Component\Debug\Exception\FatalThrowableError : Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found at E:\code\test\ruku\ruku\vendor\laravel\f
友儿
2022/09/21
6180
Laravel Exceptions——异常与错误处理
本文 GitBook 地址:https://legacy.gitbook.com/book/leoyang90/laravel-source-analysis/details
码农编程进阶笔记
2021/07/20
2.1K0
Laravel Exceptions——异常与错误处理
laravel自定义错误页面 原
app\Exceptions\handler.php 在render的时候就携带了这个异常
domain0
2018/08/02
1K0
【Laravel系列7.2】错误与异常处理
在学习完 Laravel 中的日志处理模块之后,接下来马上就进入到错误和异常的学习中。其实通过之前 PHP 基础相关的学习,我们已经了解到 PHP7 中的大部分错误都已经可以通过异常来进行处理了,而我们的 Laravel 框架,基本全是通过异常来进行处理的。
硬核项目经理
2023/03/03
2.9K0
【Laravel系列7.2】错误与异常处理
laravel 中使用first()->toArray()报错误
回过头来补充一下,当初出现这个问题还是因为习惯了用tp3的方式去写laraveL代码,才导致了这个小白问题的出现。
槽痞
2020/06/23
3.1K0
Laravel框架_php laravel框架
1、laravel是基于mvc模式的php框架,m——模型层,v——视图层,c——控制器层;以下为laravel框架的目录文件,框出来的文件目录将在后续中用到: 2、什么是MVC的开发思想? M 是 Model的简写,负责业务数据处理。 V 是 View的简写,负责显示数据和收集数据。 C 是Controller的简写,负责协调(调度)左右。
全栈程序员站长
2022/11/03
3.9K0
推荐超好用的 6 款 Laravel Admin 管理模版
如果您正在为您的企业调研开发 Admin 管理后台的最佳方案,那么基于 PHP 的 Laravel 框架会是一个不错的选择,它灵活且易用,还提供了一系列开发规范和组件加速我们的开发。而在这篇文章中,码匠将为您介绍几款专门基于 Laravel 打造的美观且常用的 Admin 管理后台模板,这些模板提供了很多开箱即用的功能,不仅确保您可以轻松启动并运行一个 Admin 后台,还为您节省了大量开发时间。
码匠Majiang
2022/06/24
8.1K0
推荐超好用的 6 款 Laravel Admin 管理模版
Laravel调试利器:Laravel Debugbar
Laravel Debugbar用于直观的显示调试及错误信息,提高开发效率。以及可以提供项目优化。
无道
2019/11/13
1.8K0
Laravel调试利器:Laravel Debugbar
Laravel学习记录--laravel模板
模板后缀: 模板名以php结尾 在模板中需使用 php原生解析变量 模板名blade.php结尾 直接使用{{变量}}即可 如果有xx.php 和 xxb.lade.php两个同名模板,优先使用blade模板 laravel 方法名不需要与模板名对应
切图仔
2022/09/14
2K0
Laravel学习记录--laravel模板
最棒的 7 个 Laravel admin 后台管理系统推荐 - 卡拉云
本文首发:《最棒的 7 个 Laravel admin 后台管理系统推荐 - 卡拉云》
蒋川
2022/03/16
10.7K0
最棒的 7 个 Laravel admin 后台管理系统推荐 - 卡拉云
Laravel <= v8.4.2调试模式造成远程代码执行漏洞
2020年11月底, 在为我们的一个客户进行安全审计时, 我们发现了一个基于Laravel的网站. 虽然这个网站的安全状态很好, 但我们注意到它是在调试模式下运行的, 因此显示了大量的错误信息, 包括堆栈痕迹:
Khan安全团队
2021/01/25
6.3K0
在 Laravel 中使用 emoji 表情
emoji 在生活中已经无处不见,微信昵称大把的都在用 emoji,那么在 Laravel 中如何对它进行正确的使用呢? 首先要了解一点基础知识: emoji 基本在各平台都有默认支持,但是都是基于
overtrue
2018/07/05
1.1K0
Laravel Eloquent 模型关联关系详解(上)
我们所熟知的 MySQL、SQL Server、Oracle 都是关系型数据库,何谓关系型数据库?简单来说就是数据表之间存在关联关系。到目前为止,我们介绍的所有 Eloquent 模型操作都是针对单表的,接下来我们将花三篇左右的篇幅来给大家介绍如何在 Eloquent 模型类中建立模型之间的各种关联关系,以及如何实现关联查询和更新。
学院君
2023/03/03
10.2K0
Laravel Eloquent 模型关联关系详解(上)
在 Ubuntu 上安装和配置 OpenStack Nova
OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspack 开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack 是开源项目,除了有 Rackspace 和 NASA 的大力支持外,后面还有包括 Dell, Citrix, Cisco, Canonical 这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。
EltonZheng
2021/01/26
1.4K0
关于laravel-admin安装时的错误
然后吧,我就慌了,我个萌新也不知道肿么办啊,好在官方的issue给出了解决办法,大概就是这样式的。 在app\Providers\AppServiceProvider.php添加默认值 修改前:
用砖头敲代码
2022/08/30
9920
点击加载更多

相似问题

Laravel Nova + Laravel Jetstream登录错误

16

在Gitlab CI上安装Laravel Nova

115

Laravel nova:如何覆盖nova组件

32

Laravel Nova - 404

11

MorphTo Laravel Nova

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档