追加后如何打印一次列表?
How to print out list one single time after append?
list = ('S', 'S', 'C', 'R', 'C', 'R', 'S', 'C', 'C', 'R', 'S', 'C', 'S', 'S', 'R', 'C', 'R', 'C', 'C', 'S', 'R')
list1 = []
for i in list:
if i == 'C':
list1.append('C')
print(list1)
所以我试图创建一个空列表并仅将 'C'
添加到列表 1 中。并计算list1中有多少'C'
。迭代列表和 len(list1)
但这会给我所有的 len
我的迭代......有什么更简单的方法来计算 list1 中只有 'C'
的数字?没有迭代?
提前致谢。
因此,如果您只是想计算有多少个“c”,您可以将代码编辑为:
for i in list:
if i == 'C':
list1.append('C')
x = x + 1
print(x)
使用集合计数器https://docs.python.org/3/library/collections.html#collections.Counter来计算不迭代的“C”的数量:
from collections import Counter
list = ('S', 'S', 'C', 'R', 'C', 'R', 'S', 'C', 'C', 'R', 'S', 'C', 'S', 'S', 'R', 'C', 'R', 'C', 'C', 'S', 'R')
c = Counter(list)
print(c)
print(c["C"])
结果:
Counter({'C': 8, 'S': 7, 'R': 6})
8
你有很多方法可以解决这个问题:
经典循环
my_list = ('S', 'S', 'C', 'R', 'C', 'R', 'S', 'C', 'C', 'R', 'S', 'C', 'S', 'S', 'R', 'C', 'R', 'C', 'C', 'S', 'R')
i = 0
for letter in my_list:
if letter == 'C':
i+=1
print(i)
列表理解
>>> len([None for i in my_list if i == 'C'])
8
过滤器
注意。这可能对计算不完全相同的对象最有用
>>> len(list(filter('C'.__eq__, my_list)))
8
collections.Counter
(@eduardosufan 已经提出)
from collections import Counter
Counter(my_list)['C']
输出:8
list.count
方法
>>> my_list.count('C')
8
list = ('S', 'S', 'C', 'R', 'C', 'R', 'S', 'C', 'C', 'R', 'S', 'C', 'S', 'S', 'R', 'C', 'R', 'C', 'C', 'S', 'R')
list1 = []
for i in list:
if i == 'C':
list1.append('C')
print(list1)
所以我试图创建一个空列表并仅将 'C'
添加到列表 1 中。并计算list1中有多少'C'
。迭代列表和 len(list1)
但这会给我所有的 len
我的迭代......有什么更简单的方法来计算 list1 中只有 'C'
的数字?没有迭代?
提前致谢。
因此,如果您只是想计算有多少个“c”,您可以将代码编辑为:
for i in list:
if i == 'C':
list1.append('C')
x = x + 1
print(x)
使用集合计数器https://docs.python.org/3/library/collections.html#collections.Counter来计算不迭代的“C”的数量:
from collections import Counter
list = ('S', 'S', 'C', 'R', 'C', 'R', 'S', 'C', 'C', 'R', 'S', 'C', 'S', 'S', 'R', 'C', 'R', 'C', 'C', 'S', 'R')
c = Counter(list)
print(c)
print(c["C"])
结果:
Counter({'C': 8, 'S': 7, 'R': 6})
8
你有很多方法可以解决这个问题:
经典循环
my_list = ('S', 'S', 'C', 'R', 'C', 'R', 'S', 'C', 'C', 'R', 'S', 'C', 'S', 'S', 'R', 'C', 'R', 'C', 'C', 'S', 'R')
i = 0
for letter in my_list:
if letter == 'C':
i+=1
print(i)
列表理解
>>> len([None for i in my_list if i == 'C'])
8
过滤器
注意。这可能对计算不完全相同的对象最有用
>>> len(list(filter('C'.__eq__, my_list)))
8
collections.Counter
(@eduardosufan 已经提出)
from collections import Counter
Counter(my_list)['C']
输出:8
list.count
方法
>>> my_list.count('C')
8