在python中如何简单优雅地将list分组
PHP中文网
PHP中文网 2017-04-17 15:38:11
[Python讨论组]

比如将list:[3, 8, 9, 4, 1, 10, 6, 7, 2, 5]
按照下标顺序分成3组:[3, 8, 9] [4, 1, 10] [6, 7, 2, 5]
或分成4组:[3, 8] [9, 4] [1, 10, 6] [7, 2, 5]

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
迷茫

直接上代码:

pythona=[1,2,3,4,5,6,7,8,9,10]
for i in range(0,len(a),3):
    b=a[i:i+3]
    print b

如果喜欢简洁可以这样:

python[a[i:i+3] for i in xrange(0,len(a),3)]

不知道算不算优雅?

大家讲道理

我也不知道有啥技巧,等待其他人来回答。
第一题我的做法

#!/usr/bin/python

L = [3,8,9,4,1,10,6,7,2,5]
result = [[],[],[]]
#for i, item in enumerate(L):
for item in L:
        if len(result[0]) < 3:
                result[0].append(item)
        elif len(result[1]) < 3:
                result[1].append(item)
        else:
                result[2].append(item)

print result

PHPz

自己写个函数吧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号