python - Python中双循环中所有字符串的大写

标签 python list capitalization

我有以下 Python 代码,它循环遍历字符串并将每个字符大写:

str = 'abcd'
l  = list(str)
for i in range(len(l)):
    rl = list(str)
    cap_char = l[i].capitalize()
    rl[i] = cap_char
    str1 = ''.join(rl)
    print str1

产生:

Abcd aBcd abCd abcD

我想增强此代码以增加受大写限制的连续字符的数量,直到该数字达到 len(l) - 1 以生成:

Abcd aBcd abCd abcD    >> - 1 char capitalized
ABcd aBCd abCD AbcD    >> - 2 chars capitalized
ABCd aBCD AbCD ABcD    >> - 3 chars capitalized

我在进行索引运算时遇到“索引超出范围”错误,理解 idices 应该换行,但似乎无法生成优雅的代码;(

最佳答案

import itertools
x = 'abcd'
n = len(x)
for i in xrange(1,n):
  combinations = itertools.combinations(range(n), i)
  for c in combinations:
    print ''.join([k if m not in c else k.upper() for m,k in enumerate(x)]),
  print '    >> - {0} char(s) capitalized'.format(i)

输出:

Abcd aBcd abCd abcD     >> - 1 char(s) capitalized
ABcd AbCd AbcD aBCd aBcD abCD     >> - 2 char(s) capitalized
ABCd ABcD AbCD aBCD     >> - 3 char(s) capitalized

关于python - Python中双循环中所有字符串的大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7278092/

相关文章:

php - 仅返回字符串开头的大写字母的函数?

Python scrapy 请求在跟随链接时不执行回调

python - 在Python中从HDF5文件中删除子组

python - 使用 python 将字母翻译为数字

objective-c - 为什么大写的属性名称在 Objective-C/UITouch 中没有给出错误?

text - 为什么HL7消息文本总是大写?

python - 如何从请求响应中提取 HTTP 错误文本?

python - 覆盖楼层划分运算符

r - 如何用空列表初始化 data.table 列并对其进行循环?

python - 如何将列表列表与字符串列表组合