如何在Python中向列表理解添加迭代计数?
这是我目前的代码: 我的问题是,我正在练习列表理解,但我不明白为什么“count+=1”在这种格式下不起作用:如何在Python中向列表理解添加迭代计数?,python,python-3.x,list-comprehension,Python,Python 3.x,List Comprehension,这是我目前的代码: 我的问题是,我正在练习列表理解,但我不明白为什么“count+=1”在这种格式下不起作用: [count += 1 for elem in li] [count += 1 and print(elem) for elem in li] 然而,我能够在正常的for循环中完成它,正如我在下面所做的那样。有人能解释一下我如何通过列表理解来完成下面的功能吗 (列表理解格式的上述代码行不一定与accum相关。) 对这类事情使用枚举 作为一个列表理解 [char.upper() +
[count += 1 for elem in li]
[count += 1 and print(elem) for elem in li]
然而,我能够在正常的for循环中完成它,正如我在下面所做的那样。有人能解释一下我如何通过列表理解来完成下面的功能吗
(列表理解格式的上述代码行不一定与accum相关。)
对这类事情使用枚举
作为一个列表理解
[char.upper() + char.lower() * (count-1) for count,char in enumerate(s)]
对这类事情使用枚举
作为一个列表理解
[char.upper() + char.lower() * (count-1) for count,char in enumerate(s)]
理解以表达为第一要素count+=1
是一条语句
相反,使用enumerate
,它获取生成x的生成器,并返回生成(i,x)
的生成器,其中i
是索引:
'-'.join(char.upper() + char.lower() * i for i, char in enumerate(s))
理解以表达为第一要素count+=1
是一条语句
相反,使用enumerate
,它获取生成x的生成器,并返回生成(i,x)
的生成器,其中i
是索引:
'-'.join(char.upper() + char.lower() * i for i, char in enumerate(s))
如果要在python列表理解中维护count,请使用
检查这个
然后试试这个代码
“-”.join((elem.upper()+elem.lower()*i)表示ii,枚举中的elem(li))
如果要在python列表理解中保持计数,请使用
检查这个
然后试试这个代码
“-”.join((elem.upper()+elem.lower()*i)表示ii,elem表示枚举(li))