小编use*_*516的帖子

比较python中的两个列表并返回匹配值的索引

对于两个列表a和b,我如何获得两者中出现的值的索引?例如,

a = [1, 2, 3, 4, 5]
b = [9, 7, 6, 5, 1, 0]

return_indices_of_a(a, b)
Run Code Online (Sandbox Code Playgroud)

将返回[0,4],用(a[0],a[4]) = (1,5).

python list match indices

12
推荐指数
2
解决办法
2万
查看次数

python中不同形状的数组的元素乘法

说我有两个数组ab,

  a.shape = (5,2,3)
  b.shape = (2,3)
Run Code Online (Sandbox Code Playgroud)

然后c = a * b会给我一个数组c的形状(5,2,3)c[i,j,k] = a[i,j,k]*b[j,k].

现在的情况是,

  a.shape = (5,2,3)
  b.shape = (2,3,8)
Run Code Online (Sandbox Code Playgroud)

我想c有一个形状(5,2,3,8)c[i,j,k,l] = a[i,j,k]*b[j,k,l].

如何有效地做到这一点?我ab实际上相当大.

python arrays numpy multiplication

9
推荐指数
2
解决办法
3712
查看次数

python中的列表匹配:获取更大列表中的子列表的索引

对于两个列表,

a = [1, 2, 9, 3, 8, ...]   (no duplicate values in a, but a is very big)
b = [1, 9, 1,...]          (set(b) is a subset of set(a), 1<<len(b)<<len(a)) 

indices = get_indices_of_a(a, b)
Run Code Online (Sandbox Code Playgroud)

如何让get_indices_of_aindices = [0, 2, 0,...]array(a)[indices] = b?有没有比使用更快的方法a.index,这需要太长时间?

制作b一集是匹配的列表,并返回指数的快速方法(见的匹配值的Python和回报指数比较两个列表),但它会失去第二的指标1,以及在这种情况下,指数序列.

python list set match indices

6
推荐指数
2
解决办法
8116
查看次数

在python中调用fortran代码时如何处理全局变量(例如使用f2py)?

我想用python运行一些fortran代码,并使用f2py -c -m.但是,似乎只有FUNCTION被打包到.so文件中,而不是打包到PROGRAM中.那我怎么处理全局变量呢?例如,变量c放在模块中

MODULE nfw
  double precision :: c
END MODULE nfw
Run Code Online (Sandbox Code Playgroud)

,在PROGRAM中被修改,并由隐含的同一文件中的FUNCTION使用

PROGRAM Compute_Profile
  USE nfw
  c = 5.0
END PROGRAM Compute_Profile

DOUBLE PRECISION FUNCTION y(x)
  USE nfw
  double precision :: x
  y = c * x
  return
END FUNCTION y
Run Code Online (Sandbox Code Playgroud)

我如何调用让函数y(x)知道python 中c的值?

python fortran global-variables f2py

4
推荐指数
1
解决办法
1260
查看次数

标签 统计

python ×4

indices ×2

list ×2

match ×2

arrays ×1

f2py ×1

fortran ×1

global-variables ×1

multiplication ×1

numpy ×1

set ×1