a=[[[1,2,3],[1,2,3]],[[4,5,6],[4,5,6]]]
print(a)
print(sum(a,[]))
b=sum(a,[])
print(sum(b,[]))
[[[1, 2, 3], [1, 2, 3]], [[4, 5, 6], [4, 5, 6]]]
[[1, 2, 3], [1, 2, 3], [4, 5, 6], [4, 5, 6]]
[1, 2, 3, 1, 2, 3, 4, 5, 6, 4, 5, 6]
以前写过一篇:python实现把两个二维array叠加成三维array示例
这篇文章尝试用“曲线救国”的方法来解决二维数组叠加成三维数组的问题。
但天道有轮回,苍天绕过谁。好不容易把数组叠加在一块儿了,新的需求又出现了:将三维数组展开成二维数组。有借有还,再借不难。今天就来解决把三维数组展开成二维数组的问题。
相对于叠加三维数组,numpy对展开数组支持得很好,只需要用好np.reshape(A,(a,b)) 函数即可。
用到的参数:
A:需要被重新组合的数组
(a,b): 各个维度的长度。比如要想展开成二维数组,那么(a,b)就是展开成a行b列。
当然,如果某一个维度长度不确定,也可以用-1
Given a stringSand a stringT, count the number of distinct subsequences ofTinS.
A subsequence of a string is a new string which is formed from the original string b...
* @function 三维数组转二维数组
* @Param: $array : 传入参数
* @Return: $tempArr 返回结果数组
***************/
function array3_to_array2($array){
$array = array_filter($array);
$array = a...
reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变。是对每行元素进行处理
resize(shape) : 与.reshape()功能一致,但修改原数组
In [1]: a = np.arange(20)
#原数组不变
In [2]: a.reshape([4,5])
Out[2]:
array([[ 0, 1, 2, 3, 4],
Python中对于数组和列表进行切片操作是很频繁的,一些详细的操作可以参考https://blog.csdn.net/together_cz/article/details/79593952,在这里我说一下[:4,:,:]和转换函数resize
博主近期在学习深度学习模型时,发现这个数据类型转换和维度的重构既细节又容易出错,特总结此篇文章,用于自己回顾和分享给有需要的朋友,总结可能不是很全面,不足之处还望大家多多包涵!
x=[1,2,3,4,5,6,7,8,9] # 一维列表
y=[[1,2,3],[4,5,6],[7,8,9]] # 二维列表
z=[[[1,2],3],[[4,5],6],[[7,8],9]] # 三维列表
通过这个演示应该可以直观看出列表不同维数的区别
常用的转换方式有两种,一种是利用numpy转成数组之后利用numpy的工具进行转换,另一种是通过列表的叠加进行
第一种 利用numpy
import numpy as np