gpt4 book ai didi

python - 如何从列表中获取一定数量的字母表?

转载 作者:行者123 更新时间:2023-11-28 20:01:49 24 4
gpt4 key购买 nike

我有一个 26 位数字的列表。我想根据数字打印出一个字母列表。例如,我有一个列表(由输入的 26 个数字组成):

[0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0]

我确实喜欢这样的输出:

[e,e,l,s]

'e' 在输出中出现了 2 次,因为在第 4 个索引上它是根据英文字母表格式的 'e' 并且第 4 个索引上的数字是 2。'l 相同' 因为它在第 11 个索引上并且它的数字是 1。对于 s 也是如此。其他字母没有出现,因为它的数字为零。

比如我再给一个26位的输入。像这样:

[1,2,2,3,4,0,3,4,4,1,3,1,4,4,1,0,0,0,0,0,4,2,3,2,2,1]

输出应该是:

[a,b,b,c,c,d,d,d,e,e,e,e,g,g,g,h,h,h,h,i,i,i,i,j,k,k,k,l,m,m,m,m,n,n,n,n,o,u,u,u,u,v,v,w,w,w,x,x,y,y,z]

有没有可能在 Python 3 中做到这一点?

最佳答案

您可以使用 chr(97 + item_index) 获取相应的项目,然后乘以项目本身:

In [40]: [j * chr(97 + i) for i, j in enumerate(lst) if j]
Out[40]: ['ee', 'l', 's']

如果你想让它们分开,你可以使用 itertools 模块:

In [44]: from itertools import repeat, chain

In [45]: list(chain.from_iterable(repeat(chr(97 + i), j) for i, j in enumerate(lst) if j))
Out[45]: ['e', 'e', 'l', 's']

关于python - 如何从列表中获取一定数量的字母表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49898193/

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