Python 从列表中提取数据并对其排序
问题陈述: 我有一个由两个节点有限元组成的有限元网格(因此每个有限元(线)由位于其极值的两个节点组成)。我在网格中有几种类型的组件(有限元组)。例如,一个垂直组件由几个从下到上垂直排列的有限元组成,相邻的有限元共享一个公共节点 我需要得到一个列表列表,其中每个列表都有每个垂直组件的节点ID(节点编号),从下到上排列 我所拥有的: 我有两个列表:Python 从列表中提取数据并对其排序,python,extract,Python,Extract,问题陈述: 我有一个由两个节点有限元组成的有限元网格(因此每个有限元(线)由位于其极值的两个节点组成)。我在网格中有几种类型的组件(有限元组)。例如,一个垂直组件由几个从下到上垂直排列的有限元组成,相邻的有限元共享一个公共节点 我需要得到一个列表列表,其中每个列表都有每个垂直组件的节点ID(节点编号),从下到上排列 我所拥有的: 我有两个列表:节点和元素 节点和元素具有以下结构: nodes = [[node_ID1, X1, Y1, Z1],[node_ID2, X2, Y2, Z2], ..
节点
和元素
节点
和元素
具有以下结构:
nodes = [[node_ID1, X1, Y1, Z1],[node_ID2, X2, Y2, Z2], ...]]
elements = [[element_ID1, nodeID_a, nodeID_b],[element_ID2, nodeID_b, nodeID_c], ...]]
我还有另外两个列表名为nodesV
和elementsV
,分别表示节点和元素的子集样本:
nodesV = [[node_IDa, node_IDb, node_IDc],[ ....]]
elementsV = [[element_IDa, element_IDb, element_IDc],[ ....]]
这两个列表分别表示所有垂直组件的节点和元素
我需要的是:
基于上述数据,我需要建立一个列表列表,其中每个列表包含每个垂直组件的有序节点ID:
desired_list = [[first nodeID of vertical component 1, ...., last nodeID],[first nodeID of vertical component 2, ...., last nodeID], ...]]
例如:
假设网格中只有两个组件,每个组件仅由一个元素组成,一个是垂直的:
nodes = [[1, 0, 0, 0], [2, 1, 0, 0], [3, 1, 0, 1]]
elements = [[1, 1, 2], [2, 1, 3]]
nodesV = [[1,3]] #each list can only contain 16 elements
elementsV = [[2]]
所以desired_list=[[1,3]]
有没有办法在数千个节点的网格上实现这一点