Swift学习笔记第二节:数组类型

1、代码

import Foundationlet arr1 = [1, 2, 3, 4, 5, 6]
let arr2 = ["a", "b", "c", "d", "e", "f"]
let arr3 = [true, false, true]
let arr4: Array<Int> = [1, 2, 3]
let arr5: [Int] = [1, 2, 3]
let arr6 = Array<Int>([1, 2, 3])
let arr7 = Array(1...3)
let arr8 = Array(repeating: 1, count: 5)let length = arr1.count
let isEmpty = arr1.isEmpty
let firstElement1 = arr2[0]
let firstElement2 = arr2.first ?? ""
let endElement1 = arr2[arr2.count - 1]
let endElement2 = arr2.last ?? ""
let randomElement = arr2.randomElement()
let section1 = arr1[0...2]
let section2 = arr1[2...]
let section3 = arr1[...5]print("""
定义1: \(arr1)
定义2: \(arr2)
定义3: \(arr3)
定义4: \(arr4)
定义5: \(arr5)
定义6: \(arr6)
定义7: \(arr7)
定义8: \(arr8)
长度: \(length)
是否为空: \(isEmpty)
第一个元素1: \(firstElement1)
第一个元素2: \(firstElement2)
最后一个元素1: \(endElement1)
最后一个元素2: \(endElement2)
随机元素: \(randomElement ?? "")
区间取值1: \(section1)
区间取值2: \(section2)
区间取值3: \(section3)
""")for item in arr2 {print("数组遍历的值: \(item)")
}for (index, value) in arr2.enumerated() {print("索引\(index)对应的值是\(value)")
}arr2.forEach{ item inprint("数组遍历的值: \(item)")
}var arr = [1, 2]
arr.append(4)
print("数组插入单条数据: \(arr)")
arr += [5]
print("数组插入单条数据: \(arr)")
arr.append(contentsOf: [6, 7])
print("数组插入多条数据: \(arr)")arr.insert(3, at: 2)
print("数组指定位置插入单条数据: \(arr)")
arr.insert(contentsOf: [97, 98, 99], at: 2)
print("数组指定位置插入多条数据: \(arr)")
arr.insert(contentsOf: 33...36, at: 2)
print("数组指定位置插入多条数据: \(arr)")arr.replaceSubrange(2...8, with: [22, 33])
print("数组替换某一区间数据: \(arr)")
arr.remove(at: 2)
print("数组删除某一数据: \(arr)")
arr.removeFirst()
print("数组删除第一条数据: \(arr)")
arr.removeLast()
print("数组删除第后一条数据: \(arr)")
arr.removeSubrange(1...2)
print("数组删除某一区间数据: \(arr)")
arr.removeAll()
print("数组删除所有数据: \(arr)")arr = [1, 2, 3, 4, 3, 5, 6]
print("数组是否包含某数据数据: \(arr.contains(3))")
let findFirstvalue = arr.first(where: {$0 > 3})
print("数组第一个符合条件的数据的值: \(findFirstvalue ?? -1)")
let findFirstIndex = arr.first(where: { v in v > 2 })
print("数组第一个符合条件的数据的索引: \(findFirstIndex ?? -1)")
print("数组最大值: \(arr.max() ?? -1)")
print("数组最小值: \(arr.min() ?? -1)")let optionArr = ["ZhangSan", "LiSi", "WangWu"]
let lowerArr = optionArr.map{ item in item.lowercased() }
print("数组值转小写: \(lowerArr)")
let upperArr = optionArr.map{ item in item.uppercased() }
print("数组值转大写: \(upperArr)")var numArr = [99, 22, 44, 11, 33, 77]
numArr.reverse()
print("数组反转: \(numArr)")
numArr.sort()
print("数组升序排序: \(numArr)")
numArr.sort(by: >)
print("数组降序排序: \(numArr)")
numArr.shuffle()
print("打乱数组排序: \(numArr)")let str = "asd+fgh-qwe/zxc,vbn=rty"
let str2arr1 = str.split(whereSeparator: { v inv == "+" || v == "-" || v == "/" || v == "," || v == "="
})
print("字符串转数组1: \(str2arr1)")
let str2arr2 = str.split(whereSeparator: { v in[ "+", "-", "/", ",", "=" ].contains(v)
})
print("字符串转数组2: \(str2arr2)")let arr2str1 = str2arr2.joined()
print("数组转字符串1: \(arr2str1)")
let arr2str2 = str2arr2.joined(separator: "-")
print("数组转字符串2: \(arr2str2)")

2、运行结果

定义1: [1, 2, 3, 4, 5, 6]
定义2: ["a", "b", "c", "d", "e", "f"]
定义3: [true, false, true]
定义4: [1, 2, 3]
定义5: [1, 2, 3]
定义6: [1, 2, 3]
定义7: [1, 2, 3]
定义8: [1, 1, 1, 1, 1]
长度: 6
是否为空: false
第一个元素1: a
第一个元素2: a
最后一个元素1: f
最后一个元素2: f
随机元素: a
区间取值1: [1, 2, 3]
区间取值2: [3, 4, 5, 6]
区间取值3: [1, 2, 3, 4, 5, 6]
数组遍历的值: a
数组遍历的值: b
数组遍历的值: c
数组遍历的值: d
数组遍历的值: e
数组遍历的值: f
索引0对应的值是a
索引1对应的值是b
索引2对应的值是c
索引3对应的值是d
索引4对应的值是e
索引5对应的值是f
数组遍历的值: a
数组遍历的值: b
数组遍历的值: c
数组遍历的值: d
数组遍历的值: e
数组遍历的值: f
数组插入单条数据: [1, 2, 4]
数组插入单条数据: [1, 2, 4, 5]
数组插入多条数据: [1, 2, 4, 5, 6, 7]
数组指定位置插入单条数据: [1, 2, 3, 4, 5, 6, 7]
数组指定位置插入多条数据: [1, 2, 97, 98, 99, 3, 4, 5, 6, 7]
数组指定位置插入多条数据: [1, 2, 33, 34, 35, 36, 97, 98, 99, 3, 4, 5, 6, 7]
数组替换某一区间数据: [1, 2, 22, 33, 3, 4, 5, 6, 7]
数组删除某一数据: [1, 2, 33, 3, 4, 5, 6, 7]
数组删除第一条数据: [2, 33, 3, 4, 5, 6, 7]
数组删除第后一条数据: [2, 33, 3, 4, 5, 6]
数组删除某一区间数据: [2, 4, 5, 6]
数组删除所有数据: []
数组是否包含某数据数据: true
数组第一个符合条件的数据的值: 4
数组第一个符合条件的数据的索引: 3
数组最大值: 6
数组最小值: 1
数组值转小写: ["zhangsan", "lisi", "wangwu"]
数组值转大写: ["ZHANGSAN", "LISI", "WANGWU"]
数组反转: [77, 33, 11, 44, 22, 99]
数组升序排序: [11, 22, 33, 44, 77, 99]
数组降序排序: [99, 77, 44, 33, 22, 11]
打乱数组排序: [99, 22, 33, 77, 44, 11]
字符串转数组1: ["asd", "fgh", "qwe", "zxc", "vbn", "rty"]
字符串转数组2: ["asd", "fgh", "qwe", "zxc", "vbn", "rty"]
数组转字符串1: asdfghqwezxcvbnrty
数组转字符串2: asd-fgh-qwe-zxc-vbn-rty

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/584277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2023 CCF 大数据与计算智能大赛】基于TPU平台实现超分辨率重建模型部署 基于FSRCNN的TPU平台超分辨率模型部署方案

2023 CCF 大数据与计算智能大赛 基于TPU平台实现超分辨率重建模型部署 基于FSRCNN的TPU平台超分辨率模型部署方案 WELL 刘渝 人工智能 研一 西安交通大学 中国-西安 1461003622qq.com 史政立 网络空间安全 研一 西安交通大学 中国-西安 1170774291qq.com 崔琳、张…

Vue - 实现文件导出文件保存下载

1 文件导出&#xff1a;使用XLSX插件 需求背景&#xff1a;纯前端导出&#xff0c;如 在前端页面勾选部分表格数据&#xff0c;点击"导出"按钮导出Excel文件。 实现思路&#xff1a; 1.通过XLSX插件的 XLSX.utils.book_new()方法&#xff0c;创建excel工作蒲对象wb…

机器学习(三) -- 特征工程(更新中)

系列文章目录 未完待续…… 目录 系列文章目录 前言 tips&#xff1a;这里只是总结&#xff0c;不是教程哈。 “***”开头的是给好奇心重的宝宝看的&#xff0c;其实不太重要可以跳过。 此处以下所有内容均为暂定&#xff0c;因为我还没找到一个好的&#xff0c;让小白&…

第7章 1 异常处理

bug的由来及分类 p81 字符串形式表示的数字之间也可以比较大小 import re ageinput(年龄&#xff1a;) if age>18:print(age)列表的append操作每次只能添加一个元素&#xff1a; lst[] lst.append(A) lst.append(B) # lst.append(A,B) 错误python中的异常处理机制 p82 t…

mysql5.7 数据库主从同步实现

mysql5.7 数据库主从同步实现&#xff0c;实操环境&#xff1a;linux centos7 一&#xff0c;安装mysql5.7 1 配置MySql5.7的 Yum仓库配置 yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm2 安装mysql5.7 yum install -y mysql-c…

Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中

目录 默认样式 修改默认字体颜色&#xff1a; 修改鼠标悬浮/选中字体颜色&#xff1a; 去掉长分割线并修改下划线颜色 完整代码 默认样式 注意事项&#xff1a;一定要在 <style scoped>不然修改的样式不会覆盖生效 修改默认字体颜色&#xff1a; ::v-deep .el-tabs__…

[鹏城杯 2022]简单包含

[鹏城杯 2022]简单包含 wp 题目代码如下&#xff1a; <?php highlight_file(__FILE__); include($_POST["flag"]); //flag in /var/www/html/flag.php; 直接 POST 传参&#xff1a; flag/var/www/html/flag.php 会触发 waf 。 尝试用伪协议读取&#xff1a; …

canvas绘制红绿灯路口

无图不欢&#xff0c;先上图 使用方法&#xff08;以vue3为例&#xff09; <template><canvas class"lane" ref"laneCanvas"></canvas> </template><script setup> import { ref, onMounted } from vue import Lane from …

C实现数组奇数在前偶数在后排序

一、运行结果&#xff1b; 二、源码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//实现调整函数move_odd_even函数&#xff1b; void move_odd_even(int arr[], int sz) {//初始化变量值&#xff1b;int left 0;int right sz - 1;//循环判断和…

CSP CCF 201312-2 ISBN号码 C++满分题解

解题思路&#xff1a; 1.用一个int数组单独存储每个数字&#xff1b;用char数组存储原始标识符串&#xff0c;方便输出 2.计算后得到标识码&#xff0c;判断是否正确 #include<iostream> using namespace std;int main() {int num[15]; //存储每个位置的数char arr[15…

ts中的接口(interface)示例代码及解释

目录 什么是interface 示例代码 函数接口 通过接口(interface)来约束函数的基本使用 通过接口约束函数参数为函数类型 class接口 通过抽象类实现 抽象类和接口的区别 构造函数接口 接口的继承 接口继承接口 接口继承类 什么是interface 在 TypeScript 中&#xff0…

【高性能篇】QPS概念、RT概念

什么是QPS&#xff0c;什么是RT&#xff1f; ✔️典型解析✔️扩展知识仓✔️RT ✔️QPS✔️ QPS和TPS✔️并发用户数✔️最佳线程数 ✔️典型解析 QPS&#xff0c;指的是系统每秒能处理的请求数(Query Per Second)&#xff0c;在Web应用中我们更关注的是Web应用每秒能处理的re…

Radar System Pro - Plug Play Solution

Radar System Pro是一款功能多样且可定制的资源,旨在通过功能齐全且易于使用的雷达系统增强您的Unity项目。无论您是在开发第一人称射击游戏、策略游戏还是太空探索模拟器,我们的雷达系统都将为您提供所需的工具,以创建引人入胜且身临其境的体验。 雷达系统是一个模块化资产…

2023年华为OD机试(python)B卷-符合要求的结对方式

一、题目 题目描述&#xff1a; 用一个数组A代表程序员的工作能力&#xff0c;公司想通过结对编程的方式提高员工的能力&#xff0c;假设结对后的能力为两个员工的能力之和&#xff0c;求一共有多少种结对方式使结对后能力为N。 二、输入输出 输入描述: 5 1 2 2 2 3 4 第一行为…

Unity 贝塞尔曲线工具获取运动轨迹

Unity 贝塞尔曲线工具获取运动轨迹 一、介绍贝塞尔曲线二、Unity中贝塞尔曲线工具介绍1.创建一个空物体挂在上BezierSpline.cs脚本组件2.由上图可知刚创建出来的有两个点和两个手柄组成3.我们可修改其坐标看下效果4.这样我们就可以获得这两个点之间的指定数量的点来作为某个物体…

openGauss学习笔记-177 openGauss 数据库运维-逻辑复制-逻辑解码-逻辑解码概述

文章目录 openGauss学习笔记-177 openGauss 数据库运维-逻辑复制-逻辑解码-逻辑解码概述177.1 功能描述177.2 注意事项177.3 性能 openGauss学习笔记-177 openGauss 数据库运维-逻辑复制-逻辑解码-逻辑解码概述 177.1 功能描述 openGauss对数据复制能力的支持情况为&#xff…

资助26项!基金委公布一批原创探索项目资助结果!

根据《国家自然科学基金原创探索计划项目实施方案&#xff08;试行&#xff09;》要求&#xff0c;现将2023年度数理科学部资助的专项项目&#xff08;指南引导类原创探索计划项目&#xff09;相关信息予以公示&#xff1a; 国家自然科学基金委员会 数理科学部 2023年12月26日…

TypeScript 中 never 和 void 的区别

在 TypeScript 中&#xff0c;never 和 void 都是用来表示函数的返回类型或表达式的类型&#xff0c;但有着不同的含义。 void 表示函数没有返回值&#xff0c;也可以用作变量的类型&#xff0c;表示变量不接收任何值。在函数中&#xff0c;void 表示函数没有返回任何值&#…

es修改mapping映射

在Elasticsearch中&#xff0c;一旦一个字段被创建&#xff0c;它的数据类型通常是固定的&#xff0c;不能直接修改。这是因为Elasticsearch是基于倒排索引的&#xff0c;字段的数据类型在创建索引时确定&#xff0c;并且与索引的结构相关联。 然而&#xff0c;如果确实需要更…

Linux 内核学习笔记: hlist 的理解

前言 最近阅读 Linux 内核时&#xff0c;遇到了 hlist&#xff0c;这个 hlist 用起来像是普通的链表&#xff0c;但是为何使用 hlist&#xff0c;hlist 是怎么工作的&#xff1f; 相关代码 hlist_add_head(&clk->clks_node, &core->clks); /*** clk_core_link_…