python入门-day8- 元组与集合

以下是为“Day 8: 元组与集合”设计的详细学习任务计划。这个任务旨在帮助初学者理解 Python 中元组(tuple)和集合(set)的特性及其应用,并通过实践掌握如何统计字符串中的不重复字符数。


Day 8: 元组与集合

学习目标:

  • 理解元组的定义和不可变特性,掌握其基本操作。
  • 掌握集合的去重和无序特性,学会使用集合方法处理数据。
  • 通过练习综合运用元组和集合,统计字符串中不重复的字符数。

学习时间:

  • 建议 2-3 小时(理论学习 1 小时,练习 1-2 小时)。

学习资源:

  • Python 官方文档(元组和集合部分)。
  • 入门教程(如“Python 速成课程”或 W3Schools 的 Python 教程)。
  • 在线练习平台(如 Codecademy、LeetCode 的基础题目)。

学习内容与步骤

  1. 元组(不可变序列)(理论 + 示例,0.5 小时)
  2. 基本概念
    元组是 Python 中一种有序、不可变的序列,用圆括号 () 定义,元素用逗号分隔。适合存储固定不变的数据。
  3. 定义与访问:
  4. python
  5. coordinates = (3, 5) # 定义元组 print(coordinates[0]) # 输出:3(索引从 0 开始) print(coordinates[1]) # 输出:5
  6. 不可变性
    元组创建后不能修改(不能添加、删除或更改元素)。
  7. python
  8. # coordinates[0] = 10 # 这会报错:TypeError
  9. 常用操作:
  10. len(tuple):返回长度。
  11. tuple.count(x):统计某元素出现次数。
  12. tuple.index(x):返回某元素首次出现的位置。
  13. python
  14. numbers = (1, 2, 2, 3) print(len(numbers)) # 输出:4 print(numbers.count(2)) # 输出:2 print(numbers.index(3)) # 输出:3
  15. 集合(去重、无序)(理论 + 示例,0.5 小时)
  16. 基本概念
    集合是 Python 中一种无序、可变的容器,用大括号 {} 或 set() 定义,自动去除重复元素。适合处理唯一性数据。
  17. 定义与操作:
  18. python
  19. fruits = {"苹果", "香蕉", "苹果"} # 重复的“苹果”会被去掉 print(fruits) # 输出:{'苹果', '香蕉'}(顺序可能不同)
  20. 常用方法:
  21. add(item):添加元素。
  22. remove(item):删除指定元素(不存在会报错)。
  23. discard(item):删除元素(不存在不报错)。
  24. union() 或 |:合并集合。
  25. intersection() 或 &:取交集。
  26. python
  27. fruits.add("橙子") print(fruits) # 输出:{'苹果', '香蕉', '橙子'} fruits.remove("香蕉") print(fruits) # 输出:{'苹果', '橙子'}
  28. 去重特性:
  29. python
  30. numbers = [1, 2, 2, 3, 3] unique_numbers = set(numbers) print(unique_numbers) # 输出:{1, 2, 3}
  31. 练习:统计一个字符串中不重复的字符数(实践,1-1.5 小时)
  32. 任务要求
  33. 编写一个 Python 程序,输入一个字符串,统计其中不重复的字符数(忽略大小写和空格)。
  34. 使用集合去除重复字符,并输出结果。
  35. 参考代码:
  36. python
  37. # 获取用户输入 text = input("请输入一个字符串:") # 转换为集合,去除重复字符 unique_chars = set(text.lower()) # 转为小写 if " " in unique_chars: # 如果有空格,去掉 unique_chars.remove(" ") # 输出不重复的字符数 print(f"字符串中不重复的字符数是:{len(unique_chars)}") print(f"不重复的字符有:{unique_chars}")
  38. 测试示例:
  39. 输入:Hello World 输出: 字符串中不重复的字符数是:8 不重复的字符有:{'h', 'e', 'l', 'o', 'w', 'r', 'd'}
  40. 代码解释:
  41. text.lower():将字符串转为小写,统一处理(如 H 和 h 算同一个)。
  42. set(text):将字符串转为集合,自动去重(每个字符变成集合元素)。
  43. remove(" "):去掉空格(可选)。
  44. len(unique_chars):计算集合长度,即不重复字符数。
  45. 扩展练习:
  46. 只统计字母(忽略数字和符号),用 isalpha() 判断。
  47. 示例扩展代码:
  48. python
  49. text = input("请输入一个字符串:") unique_chars = set(char for char in text.lower() if char.isalpha()) print(f"字符串中不重复的字母数是:{len(unique_chars)}") print(f"不重复的字母有:{unique_chars}")
  50. 测试:输入“hello123”,输出 4(h, e, l, o)。

输出要求

  • 代码:一个可运行的 Python 脚本,完成“统计不重复字符数”任务。
  • 测试:用不同字符串测试(如“hello”、“AaaBB”、“123 abc”),确保结果正确。
  • 可选:写几句话总结,比如“元组像锁住的列表,集合帮我轻松去重”。

注意事项

  • 元组不可变:尝试修改元组会报错,注意与列表的区别。
  • 集合无序:打印集合时元素顺序可能变化,这是正常现象。
  • 输入处理:如果输入为空字符串,集合会为空,长度为 0。
  • 调试:用 print() 检查集合内容,确保去重逻辑正确。

学习成果预期

完成这一天后,你将:

  • 能定义和操作元组,理解其不可变特性。
  • 掌握集合的去重功能和基本方法,处理唯一性数据。
  • 通过统计字符的练习,学会用集合解决实际问题。

如果需要更详细的解释或额外练习(比如统计元组中的重复元素),告诉我,我可以再帮你完善!现在动手试试吧,元组和集合是编程的“整理箱”!

相关文章

Python实现字母大小写互换

任务要求1.输入一个包含大小写字母的字符串(如"Hello World!")2.将字符串中的大写字母转为小写,小写字母转为大写3.保留非字母字符不变任务分析字母大小写互换的核心逻辑在于:1.ASCII...

Python实现字符串小写转大写并写入文件

任务要求编写一个Python应用程序,实现以下功能:1.从键盘获取用户输入的字符串。2.将输入字符串里的所有小写字母转换为大写字母。3.把转换后的字符串输出并保存到名为“test”的磁盘文件中。任务分...

批量将文件名、格式后缀由大写字母转换为小写:Python

本文介绍基于Python语言,基于一个大文件夹,遍历其中的多个子文件夹,对于每一个子文件夹中的大量文件,批量将其文件的名称或后缀名中的字母由大写修改为小写的方法。 本文期望实现的需求为:现有一个...

解锁Python字符串处理的10个神技!让你的代码效率翻倍

#Python编程技巧# #字符串处理秘籍#一、字符串基础:编程世界的文字魔法字符串是编程中处理文本的核心数据类型。在Python中,它不仅是简单的字符序列,更是一个自带丰富方法的智能对象。理解字符串...

[oeasy]python038_ range函数_大小写字母的起止范围_start_stop

range函数_大小写字母的起止范围_start_stop回忆上次内容所有字符 都有序号就连 空格 也不例外空格序号32是 print函数中 sep参数的 默认值字符 在计算机中用数字序号 来 存储表...