全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 879|回复: 13
打印 上一主题 下一主题

test

[复制链接]
跳转到指定楼层
1#
发表于 2021-4-9 07:44:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 d5d 于 2021-4-17 16:25 编辑



test
推荐
发表于 2021-4-9 09:07:49 | 只看该作者
for i in range(1, 21):
    for k, v in zidian.items():        # 前提是新版的py,字典有序
        if i <= v:
            x.append(k)
            break
推荐
发表于 2021-4-9 08:53:14 | 只看该作者
本帖最后由 lengqie 于 2021-4-9 09:14 编辑

for i in range(22):
    for key in zidian.keys():
        if zidian.get(key) > i:
            x.append(key)
            break

直接列表生成式也行
x = [x for i in range(21) for key in zidian.keys() if zidian.get(key) == i][0]
但是不知道怎么break,只能取[0] 来个大佬指正一下....
2#
发表于 2021-4-9 07:45:18 | 只看该作者
啥意思没看懂
4#
发表于 2021-4-9 07:59:03 来自手机 | 只看该作者
看不懂啥意思
5#
发表于 2021-4-9 08:18:04 | 只看该作者
字典里key后面那几个数怎么来的
6#
 楼主| 发表于 2021-4-9 08:35:44 | 只看该作者
抱歉,没表达清楚。
7#
发表于 2021-4-9 08:50:19 | 只看该作者
太久不写python了,没优化,但能用

zongshu=range(1,21)
zidian={1: 5, 2: 10, 3: 15, 4: 21}
rtn = []
key_arr = []
for key in zidian:
    key_arr.append(key)

for j in range(0, zidian[key_arr[0]]):
    rtn.append(key_arr[0])   
for i in range(0, len(key_arr) -2):
    for j in range(zidian[key_arr[i]], zidian[key_arr[i+1]]):
        rtn.append(key_arr[i + 1])
for j in range(zidian[len(key_arr) -1], len(zongshu) + 1):
    rtn.append(key_arr[len(key_arr) -1])

print rtn
10#
 楼主| 发表于 2021-4-9 09:54:06 | 只看该作者
感谢楼上诸位,学到了。自己写循环把自己绕进去了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-1 04:52 , Processed in 0.064210 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表