gpt4 book ai didi

python - 将位映射到 python 中的字符的好 pythonic 方法?

转载 作者:行者123 更新时间:2023-11-28 20:07:29 25 4
gpt4 key购买 nike

the_map = { 1:'a',0:'b'}

现在要生成 ab 的 8 个模式,我们创建 8 位模式:

>>> range(8)
[0, 1, 2, 3, 4, 5, 6, 7]
# 001,010,011....111

如何将位映射到字符 'a' 和 'b' 以接收如下输出:

['aaa','aab','aba'.......'bbb']

我正在寻找一种高效的衬垫。我使用翻译或格式的方法对我来说似乎有点低效:

>>> import string
>>> [bin(x)[2:].zfill(3).translate(string.maketrans('01','ab')) for x in xrange(8)]
['aaa', 'aab', 'aba', 'abb', 'baa', 'bab', 'bba', 'bbb']

最佳答案

我想你在找product :

>>> from itertools import product
>>> [''.join(i) for i in product('ABC',repeat=3)]
['AAA', 'AAB', 'AAC', 'ABA', 'ABB', 'ABC', 'ACA', 'ACB', 'ACC', 'BAA', 'BAB', 'B
AC', 'BBA', 'BBB', 'BBC', 'BCA', 'BCB', 'BCC', 'CAA', 'CAB', 'CAC', 'CBA', 'CBB'
, 'CBC', 'CCA', 'CCB', 'CCC']

关于python - 将位映射到 python 中的字符的好 pythonic 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17059840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com