导航:首页 > 编程语言 > 数组分割编程之美

数组分割编程之美

发布时间:2023-09-24 09:18:57

‘壹’ 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

阅读全文

与数组分割编程之美相关的资料

热点内容
程序员投行 浏览:313
java多线程读取文件 浏览:145
香港外贸服务器有什么好处 浏览:612
邓伦参加密室大逃脱结果变成团宠 浏览:847
购买文件服务器怎么选择 浏览:720
空调压缩机高压报警 浏览:498
u盘数控程序放哪个文件夹 浏览:853
python模拟微信登录其他APP 浏览:301
绑扎钢筋加密区规范 浏览:671
怎么更换手机壁纸安卓 浏览:808
闲鱼app卖手机怎么走验机 浏览:821
安卓三个按键音怎么关闭 浏览:64
esp8266手机app源码 浏览:713
服务器如何建立多个站点 浏览:151
加密狗可以在笔记本上做账吗 浏览:888
学生云服务器推荐 浏览:509
android银行卡快捷支付 浏览:828
海口手机直播系统源码 浏览:416
怎么给加密货币加图标 浏览:999
phpheader编码 浏览:766