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

032-GeoGebra中级篇-列表与集合(list and set)及常用操作大全

列表在 GeoGebra 中扮演着重要角色,使用户能够处理和管理一组数值、点或对象。这些列表可以用于执行多种操作,如计算平均值、排序、查找最大或最小值、绘制点的集合等。通过使用列表,用户可以简化复杂的计算步骤,增强图形的动态性和互动性。本文将介绍如何在 GeoGebra 中创建和操作列表,展示列表在数学教学、数据分析和几何构建中的实际应用。通过掌握这些列表操作技巧,您可以进一步提升 GeoGebra 的使用效果,创造更加丰富和生动的数学模型。

在这里插入图片描述

目录

    • 一、关于列表与集合
      • 1. 列表与集合的对比
      • 2. 列表转集合
      • 3. 集合转列表
    • 二、列表的操作
      • 1. 列表-创建
      • 2. 列表-新增元素
      • 3. 列表-删除元素
      • 4. 列表-访问元素
      • 5. 列表-修改元素
      • 6. 列表-遍历列表
      • 7. 列表-合并列表
      • 7. 列表-获取列表长度
      • 8. 列表-查找元素索引:
      • 9. 列表-列表求和::
      • 10. 列表-列表排序:
      • 11. 列表-反转列表:
    • 三、集合的操作
      • 1. 集合-创建(与列表一致):
      • 2. 集合-新增元素:
      • 3. 集合-删除元素:
      • 4. 集合-访问元素:
      • 5. 集合的并集:
      • 6. 集合的交集:
      • 7. 集合的差集:
      • 8. 集合的补集:
      • 9. 集合的子集:
      • 10. 集合-判断元素是否在集合中:
      • 11. 集合-获取集合大小:
      • 12. 集合-求集合的幂集:
      • 13. 集合-判断集合是否为空:
    • 四、文章最后

一、关于列表与集合

1. 列表与集合的对比

老实说,我第一次接触到GeoGebra的列表时有些懵,我们先来看一下GeoGebra中列表与集合的对比:

特性列表 (List)集合 (Set)
创建方式使用 {} 创建使用 {} 创建并确保元素唯一
元素顺序有序无序
元素重复允许重复不允许重复
访问方式通过索引访问(从1开始)不能通过索引访问
示例{1, 2, 2, 3, 4, 5}{1, 2, 3}
并集运算不支持直接运算支持直接运算 ()
交集运算不支持直接运算支持直接运算 ()
差集运算不支持直接运算支持直接运算 (\)
使用场景数据分析、绘图、统计计算集合运算、逻辑判断
转换为集合Set[List]不需要转换,直接使用
示例操作Element[List, 2] 返回第2个元素Union = Set1 ∪ Set2 计算并集

如果说C语言是万剑之宗,那么衍生出来的GeoGebra这把剑一定是个另类,因为有几个奇怪的地方:

  1. GeoGebra列表有序、且可以重复,但从1开始索引;
  2. GeoGebra列表与集合的创建方式一样;
  3. {1,2,3}默认是列表,除非上文中有交、并、差运算,系统才确定它是集合;
  4. 列表可以转换为集合,用的是Set[List]

2. 列表转集合

因为集合是不重复的,所以可以利用这个原理进行列表的去重。

// 定义列表
L = {1, 2, 2, 3, 4, 5, 5}// 将列表转换为集合
SetL = Set[L]// 输出结果
SetL  // 结果为 {1, 2, 3, 4, 5}

3. 集合转列表

注意,集合是无需的,元素是不重复的,列表是有序的,元素可以重复(数学中的理论)

// 定义集合
Set1 = {5, 2, 8, 1}// 将集合转换为列表
ListFromSet = Sequence(Element[Set1, i], i, 1, Length[Set1])// 输出结果
ListFromSet  // 结果为 {5, 2, 8, 1}// 对列表进行排序(可选)
SortedList = Sort[ListFromSet]// 输出排序后的列表
SortedList  // 结果为 {1, 2, 5, 8}

二、列表的操作

1. 列表-创建

(1)直接创建法:直接在命令行输入下边命令,就可以创建列表(注意,花括号默认创建列表,列表进行交集、并集处理后会自动转成集合)。

L = {1, 2, 3, 4, 5}

(2)使用序列法:

这将创建一个名为L的列表,包含从1到10的平方数:{1, 4, 9, 16, 25, 36, 49, 64, 81, 100}

L = Sequence(n^2, n, 1, 10)

在这里插入图片描述

2. 列表-新增元素

可以使用GeoGebra的Append命令向列表中添加元素(和Python的关键字一样):

L = {1, 2, 3}
Append(L, 4)  // L现在变为{1, 2, 3, 4}

3. 列表-删除元素

使用Remove命令可以删除指定位置的元素:

L = {1, 2, 3, 4, 5}
Remove(L, 3)  // L现在变为{1, 2, 4, 5}

4. 列表-访问元素

可以使用方括号语法访问列表中的特定元素(程序员请注意,这里是从1开始):

L = {10, 20, 30, 40, 50}
L(3)  // 返回30

5. 列表-修改元素

通过重新定义列表中的特定位置元素,可以修改列表:

L = {10, 20, 30, 40, 50}
SetValue(L, 3, 35)  // 将第3个元素改为35,现在L为{10, 20, 35, 40, 50}

6. 列表-遍历列表

可以使用Sequence命令或循环来遍历列表中的元素。例如,计算列表中所有元素的平方并存储在新列表中:

L = {1, 2, 3, 4, 5}
SquaredList = Sequence(Element(L, i)^2, i, 1, Length(L))  // SquaredList为{1, 4, 9, 16, 25}

7. 列表-合并列表

你可以使用Join命令合并两个或多个列表:(注意,这个操作后仍是列表,元素可以重复)

L1 = {1, 2, 3}
L2 = {3, 4, 5}
L = Join(L1, L2)  // L为{1, 2, 3, 3, 4, 5}

7. 列表-获取列表长度

L = {1, 2, 3, 4, 5}
Length(L)  // 返回5

8. 列表-查找元素索引:

L = {10, 20, 30, 40, 50}
IndexOf(L, 30)  // 返回3

9. 列表-列表求和::

L = {1, 2, 3, 4, 5}
Sum(L)  // 返回15

10. 列表-列表排序:

L = {5, 2, 8, 1, 4}
Sort(L)  // 返回{1, 2, 4, 5, 8}

11. 列表-反转列表:

L = {1, 2, 3, 4, 5}
Reverse(L)  // 返回{5, 4, 3, 2, 1}

三、集合的操作

1. 集合-创建(与列表一致):

(1)直接创建法:直接在命令行输入下边命令,就可以创建集合(注意,虽说花括号默认创建列表,但后续我们一旦对列表进行集合的操作,就会自动转换成集合)。

L = {1, 2, 3, 4, 5}

(2)使用序列法:

这将创建一个名为L的集合,包含从1到10的平方数:{1, 4, 9, 16, 25, 36, 49, 64, 81, 100}

L = Sequence(n^2, n, 1, 10)

在这里插入图片描述

2. 集合-新增元素:

集合中的元素是唯一的,添加重复元素不会改变集合:

S = {1, 2, 3}
S = Union(S, {4})  // S现在变为{1, 2, 3, 4}
S = Union(S, {3})  // S仍然是{1, 2, 3, 4},因为3已经在集合中

3. 集合-删除元素:

使用Difference命令可以从集合中删除元素:

S = {1, 2, 3, 4, 5}
S = Difference(S, {3})  // S现在变为{1, 2, 4, 5}

4. 集合-访问元素:

集合没有固定的顺序,因此不能通过索引访问特定元素。但是可以使用Element命令访问集合中的元素:

S = {10, 20, 30, 40, 50}
Element(S, 3)  // 返回集合中的第三个元素

5. 集合的并集:

使用Union命令可以求两个集合的并集:

S1 = {1, 2, 3}
S2 = {3, 4, 5}
S = Union(S1, S2)  // S为{1, 2, 3, 4, 5}

6. 集合的交集:

使用Intersection命令可以求两个集合的交集:

S1 = {1, 2, 3}
S2 = {3, 4, 5}
S = Intersection(S1, S2)  // S为{3}

7. 集合的差集:

使用Intersection命令可以求两个集合的交集:

S1 = {1, 2, 3}
S2 = {3, 4, 5}
S = Difference(S1, S2)  // S为{1, 2}

8. 集合的补集:

假设有一个全集U,使用Complement命令可以求集合的补集:

U = {1, 2, 3, 4, 5}
S = {2, 4}
C = Complement(U, S)  // C为{1, 3, 5}

9. 集合的子集:

使用Subset命令可以获取集合的子集:

S = {1, 2, 3, 4, 5}
Subsets(S, 2)  // 返回{ {1, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 3}, {2, 4}, {2, 5}, {3, 4}, {3, 5}, {4, 5} }

10. 集合-判断元素是否在集合中:

S = {1, 2, 3, 4, 5}
Contains(S, 3)  // 返回true

11. 集合-获取集合大小:

S = {1, 2, 3, 4, 5}
Size(S)  // 返回5

12. 集合-求集合的幂集:

S = {1, 2, 3}
PowerSet(S)  // 返回{ {}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} }

13. 集合-判断集合是否为空:

S = {}
IsEmpty(S)  // 返回true

四、文章最后

如有需要随时联系,当然,随时欢迎技术咨询。
请添加图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • latex换行\left[和\right]编译报错-解决方案
  • JavaScript 打印 V 和倒 V 图案的程序(Program to print V and inverted-V pattern)
  • 【前端面试】七、算法-迭代器和生成器
  • 【Stable Diffusion】(基础篇九)—— 扩展
  • 黑客的收入到底怎么样?
  • 物理笔记-八年级上册
  • Springcloud物流配送后台-计算机毕业设计源码69809
  • 区块链的介绍和应用场景以及发展趋势
  • GORM更新操作(Save、Update、Updates)
  • 十大人力资源SAAS软件:企业管理的革新者
  • 【学术会议征稿】第三届环境遥感与地理信息技术国际学术会议(ERSGIT 2024)
  • 职业教育大数据实验实训室建设应用案例
  • 听专家的,不如听国家的,网络安全究竟值不值得报?
  • 人大高瓴发布Think-on-Graph 2.0,基于知识图的大模型推理再升级!
  • fastadmin中控制下级管理员能不能查看
  • .pyc 想到的一些问题
  • 「译」Node.js Streams 基础
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 03Go 类型总结
  • CSS中外联样式表代表的含义
  • Fundebug计费标准解释:事件数是如何定义的?
  • interface和setter,getter
  • JavaScript的使用你知道几种?(上)
  • js如何打印object对象
  • Mybatis初体验
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Spring Boot快速入门(一):Hello Spring Boot
  • zookeeper系列(七)实战分布式命名服务
  • 复习Javascript专题(四):js中的深浅拷贝
  • 近期前端发展计划
  • 聊聊flink的BlobWriter
  • 码农张的Bug人生 - 见面之礼
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 手机端车牌号码键盘的vue组件
  • 为视图添加丝滑的水波纹
  • 由插件封装引出的一丢丢思考
  • 怎么将电脑中的声音录制成WAV格式
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • #pragma once
  • #QT(一种朴素的计算器实现方法)
  • %@ page import=%的用法
  • (6)STL算法之转换
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (附源码)php新闻发布平台 毕业设计 141646
  • (四)鸿鹄云架构一服务注册中心
  • ***利用Ms05002溢出找“肉鸡
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET : 在VS2008中计算代码度量值
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net 简单实现MD5
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .net生成的类,跨工程调用显示注释