问个 Python 遍历的问题

2018-11-06 13:14:50 +08:00
 Amone

xz2cs4641-n231-x512-9sv5-bs1s41o2853x

上面 37 个字符 每个字符从 0-9,a-z 每个字符都组一遍

一开始用 for 嵌套遍历弄,然而 python 嵌套限制 20 个。


嵌套到最后面运行的时候,就提示: SyntaxError: too many statically nested blocks 太多静态嵌套的块 python 限制 20 个嵌套


有什么方式能解决么 QAQ

3879 次点击
所在节点    Python
26 条回复
0ZXYDDu796nVCFxq
2018-11-06 13:20:19 +08:00
是我没看明白题目
这不是两个 for 搞定了吗?
Amone
2018-11-06 13:22:19 +08:00
@gstqc 能说下代码么 QAQ 或者加个 QQ 向前辈学习下:1806241622
loryyang
2018-11-06 13:28:31 +08:00
laike9m
2018-11-06 13:29:02 +08:00
ClutchBear
2018-11-06 13:30:34 +08:00
搜索 python
uuid
dapengzhao
2018-11-06 13:32:03 +08:00
楼下把题目解释一下吧
rabbbit
2018-11-06 13:33:26 +08:00
arr = [str(i) for i in range(0, 10)] + [chr(i) for i in range(ord('a'), ord('z') + 1)]

def gen(value):
if len(value) == 37:
print(value)
return
for i in arr:
gen(value + i)

for i in arr:
gen(i)
WEIHUANJIHE
2018-11-06 13:33:54 +08:00
没看懂


s = 'xz2cs4641-n231-x512-9sv5-bs1s41o2853x'
ss = sorted(s)

def _filter_func(item):
return ('0' <= item <= 'z')



def combine(s):
return ''.join(sorted(filter(_filter_func, s)))

print(combine(s))
Ken999
2018-11-06 13:34:21 +08:00
你的意思是,26 个字母加 10 个数字有多少种排列组合?
rabbbit
2018-11-06 13:34:49 +08:00
recall704
2018-11-06 13:45:13 +08:00
如果要生成这样的字符串,可以用 uuid,
如果要判断字符串是否满足这样的规则,可以用正则表达式。
necomancer
2018-11-06 15:11:17 +08:00
import uuid
print('%s' % (uuid.uuid4()))

试试。有其他要求请看
help(uuid.uuid1)
help(uuid.uuid3)
help(uuid.uuid4)
help(uuid.uuid5)
rocketman13
2018-11-06 18:35:39 +08:00
你不会写了 37 个 for 循环嵌套在一起吧。。。。
Sanko
2018-11-06 20:24:08 +08:00
37 层 for 循环怕不怕要被打死
ruoruodetouzizhe
2018-11-06 21:02:32 +08:00
看样子是准备写 37 层嵌套,结果 python 只让写 20 个
lihongjie0209
2018-11-06 21:13:54 +08:00
佩服佩服
0ZXYDDu796nVCFxq
2018-11-06 21:20:04 +08:00
37 个嵌套,每次循环 36 个元素?
一共跑 36 ** 37 次……
tuding
2018-11-06 21:23:59 +08:00
楼下好心人帮忙解释一下, 没有读懂
duoguo
2018-11-06 22:30:54 +08:00
我对不起我的语文老师。。。
JCZ2MkKb5S8ZX9pq
2018-11-06 23:04:51 +08:00
itertools 好像带排列组合的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/504981

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX