Swift 3.0在集合类数据结构上的一些新变化总结


Posted in Python onJuly 11, 2016

一、Array数组的更改

array数组中修改的API示例如下:

//创建大量相同元素的数组
//创建有10个String类型元素的数组,并且每个元素都为字符串"Hello"
//swift2.2
//var array3 = [String](count: 10, repeatedValue: "Hello")
//swift3.0
var array3 = [String](repeating: "Hello", count: 10)
//创建有10个Int类型元素的数组,且每个元素都为1
//swift2.2
//var array4 = Array(count: 10, repeatedValue: 1)
//swift3.0
var array4 = Array(repeating: 1, count: 10)

var array = [1,2,3,4,5,6,7,8,9]
//向数组中追加一组元素
//swift2.2
//array.appendContentsOf([11,12,13])
//swift3.0
array.append(contentsOf: [11,12,13])
//向数组中的某个位置插入一个元素
//swift2.2
//array.insert(0, atIndex: 0)
//swift3.0
array.insert(0, at: 0)
//向数组中的某个位置插入一组元素
//swift2.2
//array.insertContentsOf([-2,-1], at: 0)
//swift3.0
array.insert(contentsOf: [-2,-1], at: 0)
//移除数组中某个位置的元素
//swift2.2
//array.removeAtIndex(1)
//swift3.0
array.remove(at: 1)
//移除一个范围内的元素
//swift2.2
//array.removeRange(0...2)
//swift3.0
array.removeSubrange(0...2)
//修改一个范围内的元素
//swift2.2
//array.replaceRange(0...2, with: [0,1])
//swift3.0
array.replaceSubrange(0...2, with: [0,1])
//进行数组枚举遍历 将输出 (0,0) (1,1) (2,2) (3,3) (4,4)
//swift3.0 中将枚举属性enumerate 修改为enumerated()方法
for item in arrayLet.enumerated(){
 print(item)
}
var arraySort = [1,3,5,6,7]
//获取数组中的最大值
//swift2.2
//arraySort.maxElement()
//swift3.0
arraySort.max()
//获取数组中的最小值
//swift2.2
//arraySort.minElement()
//swift3.0
arraySort.min()
//从大到小排序
//swift2.2
//arraySort = arraySort.sort(>)
//swift3.0
arraySort = arraySort.sorted(isOrderedBefore: >)
//从小到大排序
//swift2.2
//arraySort = arraySort.sort(<)
//swift3.0
arraySort = arraySort.sorted(isOrderedBefore: <)
二、Set集合中的更改

Set集合中的修改示例如下:

//创建set集合
var set1:Set<Int> = [1,2,3,4]
//进行下标的移动
//获取某个下标后一个元素
//swlft2.2
//set1[set1.startIndex.successor()]
//swift3.0
set1[set1.index(after: set1.startIndex)]
//获取某个下标后几位的元素
//swift2.2
//set1[set1.startIndex.advancedBy(3)]
//swift3.0
set1[set1.index(set1.startIndex, offsetBy: 3)]
//获取集合中的最大值
//swift2.2
//set1.maxElement()
//swift3.0
set1.max()
//获取集合中的最小值
//swift2.2
//set1.minElement()
//swift3.0
set1.min()
//移除集合中某个位置的元素
//swift2.2
//set1.removeAtIndex(set1.indexOf(3)!)
//swift3.0
set1.remove(at: set1.index(of: 3)!)
var set3:Set<Int> = [1,2,3,4]
var set4:Set<Int> = [1,2,5,6]
//返回交集 {1,2}
//swift2.2
//var setInter = set3.intersect(set4)
//swift3.0
var setInter = set3.intersection(set4)
//返回交集的补集{3,4,5,6}
//swift2.2
//var setEx = set3.exclusiveOr(set4)
//swift3.0
var setEx = set3.symmetricDifference(set4)

var set5:Set = [1,2]
var set6:Set = [2,3]
var set7:Set = [1,2,3]
var set8:Set = [1,2,3]
//判断是否是某个集合的子集 set5是set7的子集 返回ture
//swift2.2
//set5.isSubsetOf(set7)
//swift3.0
set5.isSubset(of: set7)
//判断是否是某个集合的超集 set7是set5的超集 返回ture
//swift2.2
//set7.isSupersetOf(set5)
//swift3.0
set7.isSuperset(of: set5)
//判断是否是某个集合的真子集 set5是set7的真子集 返回ture
//swift2.2
//set5.isStrictSubsetOf(set7)
//swift3.0
set5.isStrictSubset(of: set7)
//判断是否是某个集合的真超集 set7不是set8的真超集 返回false
//swift2.2
//set7.isStrictSupersetOf(set8)
//swift3.0
set7.isStrictSuperset(of: set8)
三、Dictionary字典中的更改

Dictionary字典中修改示例如下:

//通过键删除某个键值对
//swift2.2
//dic1.removeValueForKey(1)
//swift3.0
dic1.removeValue(forKey: 1)
 
Python 相关文章推荐
全面解读Python Web开发框架Django
Jun 30 Python
Python 3.x 新特性及10大变化
Jun 12 Python
使用Django的模版来配合字符串翻译工作
Jul 27 Python
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 Python
[原创]使用豆瓣提供的国内pypi源
Jul 02 Python
Python运维开发之psutil库的使用详解
Oct 18 Python
pycharm重命名文件的方法步骤
Jul 29 Python
Python适配器模式代码实现解析
Aug 02 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
如何用Python和JS实现的Web SSH工具
Feb 23 Python
Python3.8官网文档之类的基础语法阅读
Sep 04 Python
在Python 中将类对象序列化为JSON
Apr 06 Python
浅析Python的web.py框架中url的设定方法
Jul 11 #Python
深入解析Python的Tornado框架中内置的模板引擎
Jul 11 #Python
使用Python的Tornado框架实现一个Web端图书展示页面
Jul 11 #Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 #Python
Python的requests网络编程包使用教程
Jul 11 #Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 #Python
Python中的异常处理相关语句基础学习笔记
Jul 11 #Python
You might like
PHP中一个控制字符串输出的函数
2006/10/09 PHP
CodeIgniter基本配置详细介绍
2013/11/12 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
PHP使用反向Ajax技术实现在线客服系统详解
2019/07/01 PHP
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
js实现数组转换成json
2015/06/26 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
javascript编写简易计算器
2017/05/06 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
JS实现前端页面的搜索功能
2018/06/12 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
Python最长公共子串算法实例
2015/03/07 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
《在家里》教后反思
2014/03/01 职场文书
高二学年自我鉴定范文(2篇)
2014/09/26 职场文书
长城导游词400字
2015/01/30 职场文书
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python