鱼C论坛

 找回密码
 立即注册
查看: 3559|回复: 3

[已解决]问下各位大佬要怎么实现

[复制链接]
发表于 2022-10-26 20:17:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 xiaozheng123 于 2022-10-26 20:18 编辑

假如设一个数列
nums=[2,3,2,4,5,1,5,3,.............]            #还有很多数字(假设数字在1-100里面)
我如何去弄出数列里面每个数字的数量是多少   #总不可能nums.count()吧
用个sort 排列下,之后应该如何操作
最佳答案
2022-10-26 20:59:43

用 sort 排序后的列表,不用 count 函数,参考代码:
nums = [2, 3, 2, 4, 5, 1, 5, 3, 9]
nums.sort()
result, count = [], 1
for i in range(len(nums)):
    if i != len(nums) - 1 and nums[i] == nums[i + 1]:
        count += 1
    else:
        result.append([nums[i], count])
        count = 1

print(result)

直接用 count 方法,参考代码:
nums = [2, 3, 2, 4, 5, 1, 5, 3, 9]

result = []
for i in range(len(nums)):
    temp = [nums[i], nums.count(nums[i])]
    if temp not in result:
        result.append(temp)


print(result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-26 20:20:46 From FishC Mobile | 显示全部楼层
用字典好像可以,用集合好像也可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-26 20:39:00 | 显示全部楼层
wp231957 发表于 2022-10-26 20:20
用字典好像可以,用集合好像也可以

我还没有学习这两个还在数列这里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-26 20:59:43 | 显示全部楼层    本楼为最佳答案   

用 sort 排序后的列表,不用 count 函数,参考代码:
nums = [2, 3, 2, 4, 5, 1, 5, 3, 9]
nums.sort()
result, count = [], 1
for i in range(len(nums)):
    if i != len(nums) - 1 and nums[i] == nums[i + 1]:
        count += 1
    else:
        result.append([nums[i], count])
        count = 1

print(result)

直接用 count 方法,参考代码:
nums = [2, 3, 2, 4, 5, 1, 5, 3, 9]

result = []
for i in range(len(nums)):
    temp = [nums[i], nums.count(nums[i])]
    if temp not in result:
        result.append(temp)


print(result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 21:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表