首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列表中的Python大写元素(使用Itertools?)

列表中的Python大写元素(使用Itertools?)
EN

Stack Overflow用户
提问于 2021-10-10 08:57:26
回答 1查看 79关注 0票数 3

我有一个包含整数的列表,它指示一个列表中将同时出现多少大写。

代码语言:javascript
复制
x = [1, 2]
# when x == 1 then 1 capitalization per time
# when x == 2 then 2 capitalization per time
l = ['a', 'b', 'c']

输出结果会是这样..。

代码语言:javascript
复制
Abc
aBc
abC
ABc
AbC
aBC

我可以正常地编写这段代码,但是可以通过迭代工具来完成吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-10 09:02:56

使用itertools.combinations选择字母的索引以大写:

代码语言:javascript
复制
from itertools import combinations


x = [1, 2]
l = ['a', 'b', 'c']


for xi in x:
    for comb in combinations(range(len(l)), xi):
        print("".join([e.upper() if i in comb else e for i, e in enumerate(l) ]))

输出

代码语言:javascript
复制
Abc
aBc
abC
ABc
AbC
aBC
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69513745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档