Python计算0-9再到a-z

0 投票
1 回答
1137 浏览
提问于 2025-04-18 04:30

我正在尝试创建一个样式表,结构如下:

.something-[content_name]:before {
  content: '[unicode_string]';
}

对于这个样式表,Unicode字符串遵循这样的模式:

/f[0-9a-z][0-9a-z][0-9a-z]

还有一组SVG图形,结构是这样的:

<glyph unicode="[unicode_string]" d="some_path" />

我有一个要插入的内容列表,我需要一种方法来遍历这些内容并为它们分配Unicode值。

我想先从0到9,然后是小写字母a到z,逐个处理,最后得到:

&#xf000, &#xf001, &#xf002 ... &#xf009
&#xf00a, &#xf00b, &#xf00c ... &#xf00z
&#xf010, &#xf011, &#xf012 ... &#xf019, &#xf01a, &#xf01b, &#xf01c ... &#xf01z
&#xf0a0, &#xf0b1, &#xf0 ... &#xf019, &#xf01a, &#xf01b, &#xf01c ... &#xf01z

/替换成&#x不是问题,我只是想知道最好的遍历方法是什么。

1 个回答

2

你是在找itertools.product吗?

import string, itertools


for p in itertools.product(string.digits + string.ascii_lowercase, repeat=3):
    print '&#xf' + ''.join(p)

如果是处理十六进制数字,可以直接遍历 0123456789abcdef 这些字符:

for p in itertools.product('0123456789abcdef', repeat=3):

撰写回答