python统计列表中各元素出现的次数
python统计列表中各元素出现的次数第一种方法最常规的方法`a_list = [4, 6, 3, 8, 9, 0, 3, 3, 7, 1, 4, 6, 7, 3, 4]result = []for i in a_list:if i not in result:result.append(i)print("元素", i, "在列表中出现了", a_list.count(i), "次")元素 4 在
·
python统计列表中各元素出现的次数
- 第一种方法
最常规的方法`
a_list = [4, 6, 3, 8, 9, 0, 3, 3, 7, 1, 4, 6, 7, 3, 4]
result = []
for i in a_list:
if i not in result:
result.append(i)
print("元素", i, "在列表中出现了", a_list.count(i), "次")
元素 4 在列表中出现了 3 次
元素 6 在列表中出现了 2 次
元素 3 在列表中出现了 4 次
元素 8 在列表中出现了 1 次
元素 9 在列表中出现了 1 次
元素 0 在列表中出现了 1 次
元素 7 在列表中出现了 2 次
元素 1 在列表中出现了 1 次
如果没有a_list.count()函数也可以自己写
num = [0 for i in range(len(result))] # 列表推导式初始化列表
for i in range(len(result)):
for j in a_list:
if result[i] ==j:
num[i] += 1
print(num)
然后格式化输出即可
for i in range(len(num)):
print("元素{0}在列表中出现的次数:{1}".format(result[i], num[i]))
没有使用a_list.count()的完整代码
a_list = [4, 6, 3, 8, 9, 0, 3, 3, 7, 1, 4, 6, 7, 3, 4]
result = []
for i in a_list:
if i not in result:
result.append(i)
num = [0 for i in range(len(result))] # 列表推导式初始化列表
for i in range(len(result)):
for j in a_list:
if result[i] ==j:
num[i] += 1
for i in range(len(num)):
print("元素{0}在列表中出现的次数:{1}".format(result[i], num[i]))
- `第二种方法
首先可以引入集合达到去重的目的,列表转集合可以去掉重复的元素
再通过集合转列表,集合不可以通过索引和切片的方式访问元素
# 列表转化为集合(数字的话是默认从小到大排好序的)
第一种:a_set = set(a_list)
第二种:a_set.update(a_list)
#列表转化为集合
new_list = list(a_set)
a_list = [2, 4, 5, 6, 0, 3, 2, 3, 4, 0, 0, 6, 4]
a_set = set(a_list) # 列表转化为集合或a_set.update(a_list)
new_list = list(a_set) # 转化过程中直接去重,直接list(a_set)
print(new_list)
number = [0 for i in range(len(new_list))] #列表推导式初始化number[]
for i in range(len(new_list)):
for j in range(len(a_list)):
if new_list[i] == a_list[j]:
number[i] += 1
for i in range(len(number)):
print("元素{0}在列表中出现的次数:{1}".format(new_list[i], number[i]))
[0, 2, 3, 4, 5, 6]
元素0在列表中出现的次数:3
元素2在列表中出现的次数:2
元素3在列表中出现的次数:2
元素4在列表中出现的次数:3
元素5在列表中出现的次数:1
元素6在列表中出现的次数:2
更多推荐
已为社区贡献2条内容
所有评论(0)