当前位置: 首页 > wzjs >正文

门户网站开发报价品牌营销成功案例

门户网站开发报价,品牌营销成功案例,网站每月流量,dm网站制作软件编写一个程序,用于在一组整数中找出唯一的数字。假设列表中只有一个唯一的数字。 定义函数find_unique_number(),参数为num_list,数字列表。 在函数内部,找出只出现一次的数字,并返回它。 如果列表只有一个数字&#…

编写一个程序,用于在一组整数中找出唯一的数字。假设列表中只有一个唯一的数字。

定义函数find_unique_number(),参数为num_list,数字列表。
在函数内部,找出只出现一次的数字,并返回它。
如果列表只有一个数字,则返回该数字。
如果列表为空,则返回None。
如果不存在这样的数字,则返回None。

传统写法:

def find_unique_number(num_list):# 此处编写你的代码 count={}for num in num_list:count[num]=count.get(num,0)+1unique_list=[]for num,cnt in count.items():if cnt==1:unique_list.append(num)return unique_list[0] if len(unique_list)==1 else None# 将输入的整数转换为列表
numbers = list(map(int, input().split()))# 调用函数
print(find_unique_number(numbers))

代码说明:


# 将输入的整数转换为列表
numbers = list(map(int, input().split()))
input():获取用户输入字符串
.split():按空格分割字符串为列表
map(int, ...):将列表中的每个元素转换为整数
map(func, iterable) 的含义:
对第二个参数 iterable(可迭代对象)中的每个元素,使用第一个参数 func(函数)进行处理。
此处将列表中的每个字符串应用 int() 函数,尝试转为整数
list(...):将迭代器转换为列表
map 函数返回的是一个迭代器(Iterator),而不是列表。
list() 的作用是将迭代器的所有元素提取出来形成列表。完整流程总结
输入
用户输入:"1 3 5 7"
字符串分割
input().split() → 得到 ["1", "3", "5", "7"]
类型转换
map(int, ["1", "3", "5", "7"]) → 遍历转换为整数 1, 3, 5, 7
生成列表
list(...) → 生成最终列表 [1, 3, 5, 7]
结果赋值
numbers 变量被赋值为 [1, 3, 5, 7]

等效代码(用列表推导式改写)

numbers = [int(x) for x in input().split()]
对比说明:
map 在某些场景下效率更高,
而列表推导式通常可读性更好,两者最终结果相同。

列表推导式

def find_unique_number(num_list):if not num_list:return Noneif len(num_list) == 1:return num_list[0]count = {}for num in num_list:count[num] = count.get(num, 0) + 1# 根据题目条件,预期只有一个唯一值,因此返回第一个或仅有的出现一次的数值# 若存在多个出现一次的情况,根据题意返回Noneunique_numbers = [num for num, cnt in count.items() if cnt == 1]return unique_numbers[0] if len(unique_numbers) == 1 else None

代码说明:

  • 边界处理

当输入列表为空时直接返回None
当列表仅有一个元素时无需遍历,直接返回该元素

  • 统计频次

使用字典存储每个数字的出现频次,count.get(num, 0)方法确保首次访问时初始化为0
时间复杂度为O(n),可处理大规模数据

  • 精准匹配

通过列表推导式筛选出现一次的数值,存储到unique_numbers
根据题意中"列表中只有一个唯一的数字"的约束条件,仅在筛选结果数量严格为1时返回该数值,否则返回None
在这里插入图片描述
count[num] = count.get(num, 0) + 1
在这里插入图片描述
为什么要用 get(num, 0) 而不是直接访问字典?
假设直接写 count[num] + 1:

  • 如果 num 不在字典中 → 会引发 KeyError(例如首次遇到数字2时,count[2] 不存在)。
  • 使用 .get(num, 0) 可以规避此问题:当 num 不在字典中时,会安全地返回 0,使得逻辑可以正常运行。
    传统写法
count = {}
for num in num_list:if num in count:    # 如果数字已存在count[num] += 1 # 出现次数+1else:            count[num] = 1  # 首次记录1次
http://www.dtcms.com/wzjs/335523.html

相关文章:

  • 网站建设的客户在哪里淘宝搜索排名
  • 宝塔面板加wordpress建站站长推广网
  • 交友网网站开发文档搜索百度一下
  • jquery mobile 手机网站模板seo产品推广
  • 网站优化 西安seo排名的公司
  • 怎样做游戏网站今天有哪些新闻
  • 山西自助建站系统平台西安网约车平台
  • wordpress建个人网站阳江seo
  • 网站配色方案seo顾问推推蛙
  • 北京网站建设公司华网天下百度seo价格查询系统
  • 关于dw做网站整站多关键词优化
  • 南昌网站建设信息大数据培训课程
  • 建设银行手机登录网站2021年重大新闻事件
  • 互联网创业就是做网站吗优化关键词的方法
  • 最简单的做网站工具宁波seo优化项目
  • scratch少儿编程网站重庆人力资源和社会保障网
  • dw做网站的导航栏百度一下网页
  • 地产网站建设案例好的竞价推广托管
  • 注册网站安全吗网站查询器
  • 做网站app价格多少钱东莞百度快速排名
  • 有了页游源代码如何做网站百度推广登录页面
  • 站内推广策略创建网站的公司
  • 行业网站建设seo系统培训
  • 清溪网站仿做佛山百度提升优化
  • 微网站自己怎么做的吗高端定制网站建设公司
  • 旅游网站开发团队推广优化seo
  • 免费微网站建设91
  • 仙居谁认识做网站的怎么在百度做宣传广告
  • wordpress一键登录seo推广怎么做视频教程
  • 哪个网站可以做c 的项目seo快速排名优化方式