我试图计算T的数量,不管所提供的列表中的大小写是什么,但是代码一直在计算每个字符并返回46的值,而不是仅仅计算T并返回6的值。我还需要它来打印出现T的字符串。你知道吗
givenStrings = ["Taylor Swift", "Twenty Two", "Georgia Tech"]
count =0
numTs = 0
for currentString in givenStrings:
for currentCharacter in currentString:
if currentCharacter == 't' or 'T':
numTs+=1
count = numTs + len(currentString)
print(count, currentString)
将if条件更改为
您的if条件应改为:
最好不要迭代字符,而是将
sum
与len
以及字符串方法lower
和count
一起使用:sum
函数可以接受任何iterable。总而言之。你知道吗第一种方法将
len
应用于列表中的每个项目。它sum
消耗产生一个总数。你知道吗第二种方法使用
lower
方法将每个字符串转换为小写,然后调用count
方法来获取字符串't'
的出现次数。它sum
消耗产生一个总数。你知道吗在每种用法中,参数都是一个生成器表达式
(a for b in c)
当它是函数的唯一参数时,可以省略括号。sum(a for b in c)
与sum((a for b in c))
相同。当它不是唯一的参数时,括号是必需的。你知道吗还有其他内置函数也采用iterables,最显著的是
min
、max
、any
、all
。请注意,min
和max
采用关键字参数key
,以便max((a for a in b), key=len)
返回iterable中最长的项。heapq.nsmallest
和heapq.nlargest
函数实际上是min
和max
函数的自然扩展。我喜欢any
和all
,尤其是和not
结合在一起的时候。你知道吗相关问题 更多 >
编程相关推荐