Tricks(七)——list of lists 行和、列和的计算
我们知道如果以邻接矩阵的形式(元素为0/1、true/false,只表示关联与否)表示图结构的话,邻接矩阵的行和表示每一个顶点的出度,邻接矩阵的列和表示每一个顶点的入度。
如果不使用高级的 python 第三方的库(如 numpy),而仅使用 list,使用 list of lists 来表示邻接矩阵,该如何计算行和、列和(也即出度、入度)呢?
from random import randrange
n = 10
N = [[randrange(2) for _ in range(n)] for _ in range(n)]# 随机 0-1 值构成的随机图
out_degrees = [0]*n
in_degrees = [0]*10for i in range(n):out_degrees[i] = sum(N[i])for j in range(n):for i in range(n):in_degrees[j] += N[i][j]# 注意入度的循环顺序,# 固定列,遍历行
补充
充分发挥 Python 的语法特性,也即 list comprehension,这里提供一个更为简便的版本:
out_degrees = [sum(N[i]) for i in range(n)]
in_degrees = [sum([N[i][j] for i in range(n)]) for j in range(n)]
Tricks(七)——list of lists 行和、列和的计算相关推荐
- Algs4-1.1.13编写一段代码,打印出一个M行N列的二维数组的转置(交换行和列)
1.1.13编写一段代码,打印出一个M行N列的二维数组的转置(交换行和列). public class Test { public static void main(String[] arg ...
- pandas使用transpose函数对dataframe进行转置、将dataframe的行和列进行互换(flip the rows and columns in dataframe)
pandas使用transpose函数对dataframe进行转置.将dataframe的行和列进行互换(flip the rows and columns in dataframe) 目录
- pandas drop 删除行和列的方法
pandas drop 删除行和列的方法 文章目录 pandas drop 删除行和列的方法 删除行 按行索引删除 删除单行 删除多行 删除列 按列索引删除(列本来是没有索引的,用df.columns ...
- pandas中如何选取某几列_pandas 选取行和列数据的方法
本文介绍在 pandas 中如何读取数据行列的方法.数据由行和列组成,在数据库中,一般行被称作记录 (record),列被称作字段 (field).回顾一下我们对记录和字段的获取方式:一般情况下,字段 ...
- c语言:将一个二维数组行和列的元素互换,存到另一个二维数组中。
将一个二维数组行和列的元素互换,存到另一个二维数组中. 解:程序: #include<stdio.h> int main() { int i, j, a[2][3] = { {1,2,3} ...
- 动态隐藏ALV的行和列
本例和行列例程转换不同,内表结构是固定的,仅仅是通过ALV的fieldcat和Filter来隐藏/显示ALV的行和列 列: FORM changefield . LOOP AT gt_fieldc ...
- numpy 若干行和列_Numpy的轴,pandas的行和列
使用幕布做了一系列详细笔记请点击: 高维ndarray的轴轴编号和索引傻傻分不清楚 很多函数需要传入轴编号,非常容易和索引弄混,以3维数组为例,轴有3条,编号分别为 0,1,2 我们制造一个3×3×3 ...
- Pandas打印所有行和列(显示所有的行和列)
Pandas打印所有行和列,显示所有的行和列 # 显示所有列 pd.set_option('display.max_columns', None) # # 显示所有行 pd.set_option('d ...
- 检索数据_1_从表中查询所有行和列
从表中查询所有行和列 需求描述 需求:检索表里所有行的数据. 解决方法:通过SQL的关键字*来匹配到所有行和列,结合SELECT FROM 即可满足需求. 注: 数据库数据集SQL脚本详见如下链接地址 ...
- Java黑皮书课后题第8章:*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1。让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了
*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1.让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了 题目 题目描述与运行示例 破题 代码 题目 题 ...
最新文章
- linux命令匹配path顺序,PATH 中的路径先后顺序的问题
- JS 回车提交,兼容IE、火狐、Opera、Chrome、Safari……
- linux打开ftp功能的方法
- CMarkup类在VC中的使用
- 关于Android软件更新
- Spring 的持久化实例(JDBC, JdbcTemplate、HibernateDaoSupport、JdbcDaoSupport、SqlSessionDaoSupport等)...
- 批处理for命令各开关的含义
- 基本 Python 词汇
- php将数组值用 分开,PHP将数组中的多个值替换为另一个数组
- MySQL用户管理和访问权限
- python面试代码题_常见python面试题-手写代码系列
- java float_关于java中float型的问题
- 转:Windows下WSH/JS实现SVN服务器钩子脚本阻止提交空日志信息和垃圾文件
- SQL server 2008 R2 使用教程
- python selenium ActionChains类与鼠标的模拟事件
- 理论篇3:深度学习之----Momentum优化器(2)
- 哇塞!集齐7张卡片,真的可以召唤神龙耶!
- 每周一品 · 永磁电机中的磁性材料
- 国家进口的爱乐维与德国药店的爱乐维的区别
- 达梦数据库中各种表的管理
热门文章
- hdfs客户端的学习理解
- linux 加速播放软件,VirtualBox 6.1首次推出Linux 5.4支持,加速的视频播放及更多功能...
- 各种存储分配算法java代码实现_Java实现操作系统中四种动态内存分配算法:BF+NF+WF+FF...
- java 方法引用_JAVA 8 方法引用 - Method References
- linux多线程求和_(TCP IP网络编程)实验七 多线程编程
- python中定义的类的方法调用老出现missing 1 postional argument 或者self的解决办法
- c语言计算1+2+3+4+......n
- LeetCode 104.二叉树的最大深度(递归)
- 安装Caffe报错:/usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link
- PHP实现动态获取函数参数的方法