‘壹’ python数组分割
functionname= lambda anylist, n: [anylist[i * 3:(i + 1) * 3] for i in range(len(anylist)//n+1 if len(anylist)%n else len(anylist)//n)]
print(functionname(a, 3))
可以按任意长度切分
‘贰’ Python 数组分割
arr=[1,2,3,6,1,6,8,1,9,7,5,1]
coor,res=[],[]
i=j=count=0
foridx,numinenumerate(arr):
ifnum==1:
ifi==j:
i=idx
else:
ifi<j:
i=idx
else:
j=idx
coor.append((i,j)ifi<jelse(j,i))
forcrinsorted(set(coor)-{(0,0)}):
res.append(arr[cr[0]:cr[1]+1])
print(res)
如果你用的Python2就把最后的print的括号去掉就行,Python3的话就不用
用另外一种方法弄了一下,可能更直观些,附上如下
arr=[1,2,3,6,1,6,8,1,9,7,5,1]
coor,res=[],[]
i=j=0
idx=1
whileidx<len(arr):
whilearr[idx]!=1:
idx+=1
ifi==j:
i=idx
else:
ifi<j:
i=idx
else:
j=idx
idx+=1
coor.append((i,j)ifi<jelse(j,i))
forcrincoor:
res.append(arr[cr[0]:cr[1]+1])
print(res)
你随便选一种就好,不过推荐后面的这种
‘叁’ python 数组切割
具体代码如下:
a=[10,25,69,51,452,336,79,52,67]
b=[0,0,0,2,2,3,3,3,3]
d={}
foriinb:
d[i]=(d[i]+1)ifd.has_key(i)else1
p=0
foriind.values():
printa[p:(p+i)]
p+=i
运行结果:
‘肆’ 将数组分割成多个方法
函数:array_chunk
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
array_chunk — 将一个数组分割成多个
1.说明
array_chunk ( array $array , int $size [, bool $preserve_keys = false ] ) : array
将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少于 size 个。
2.参数
array
需要操作的数组
size
每个数组的单元数目
preserve_keys
设为 true,可以使 PHP 保留输入数组中原来的键名。如果你指定了 false,那每个结果数组将用从零开始的新数字索引。默认值是 false。
3.返回值
得到的数组是一个多维数组中的单元,其索引从零开始,每一维包含了 size 个元素。
错误/异常
如果 size 小于 1,会抛出一个 E_WARNING 错误并返回 null。
4.范例
Example #1 array_chunk() 例子
‘伍’ 编程之美的作品目录
第1章游戏之乐——游戏中碰到的题目 1
1.1让CPU占用率曲线听你指挥 3
1.2中国象棋将帅问题 13
1.3一摞烙饼的排序 20
1.4买书问题 30
1.5快速找出故障机器 35
1.6饮料供货 40
1.7光影切割问题 45
1.8小飞的电梯调度算法50
1.9高效率地安排见面会 54
1.10双线程高效下载 59
1.11NIM(1)一排石头的游戏 64
1.12NIM(2)“拈”游戏分析 67
1.13NIM(3)两堆石头的游戏 72
1.14连连看游戏设计 86
1.15构造数独 91
1.1624点游戏 99
1.17俄罗斯方块游戏 108
1.18挖雷游戏 116
第2章数字之魅——数字中的技巧 117
2.1求二进制数中1的个数 119
2.2不要被阶乘吓倒 125
2.3寻找发帖“水王” 129
2.41的数目 132
2.5寻找最大的K个数 139
2.6精确表达浮点数 147
2.7最大公约数问题 150
2.8找符合条件的整数 155
2.9斐波那契(Fibonacci)数列 160
2.10寻找数组中的最大值和最小值 166
2.11寻找最近de点对 171
2.12快速寻找满足条件的两个数 178
2.13子数组的最大乘积 182
2.14求数组的子数组之和的最大值 185
2.15子数组之和的最大值(二维) 192
2.16求数组中最长递增子序列 198
2.17数组循环移位 204
2.18数组分割 207
2.19区间重合判断 211
2.20程序理解和时间分析 215
2.21只考加法的面试题 217
第3章结构之法——字符串及链表的探索 219
3.1字符串移位包含的问题 221
3.2电话号码对应英语单词 224
3.3计算字符串的相似度 230
3.4从无头单链表中删除节点 234
3.5最短摘要的生成 237
3.6编程判断两个链表是否相交 241
3.7队列中取最大值操作问题 244
3.8求二叉树中节点的最大距离 250
3.9重建二叉树 256
3.10分层遍历二叉树 262
3.11程序改错 268
第4章数学之趣——数学游戏的乐趣 273
4.1金刚坐飞机问题 275
4.2瓷砖覆盖地板 279
4.3买票找零 282
4.4点是否在三角形内 286
4.5磁带文件存放优化 291
4.6桶中取黑白球 294
4.7蚂蚁爬杆 299
4.8三角形测试用例303
4.9数独知多少 307
4.10数字哑谜和回文 315
4.11挖雷游戏的概率 322