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对url格式解析的方法
May 13 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
Jun 29 Python
Python爬虫框架Scrapy实例代码
Mar 04 Python
Python实现重建二叉树的三种方法详解
Jun 23 Python
详解Python静态网页爬取获取高清壁纸
Apr 23 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
Mar 24 Python
Python如何在循环内使用list.remove()
Jun 01 Python
python ssh 执行shell命令的示例
Sep 29 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 Python
Python 高级库15 个让新手爱不释手(推荐)
May 15 Python
python opencv旋转图片的使用方法
Jun 04 Python
Python 数据科学 Matplotlib图库详解
Jul 07 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
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
PHP获取MAC地址的函数代码
2011/09/11 PHP
php和editplus正则表达式去除空白行
2015/04/17 PHP
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
在Vue中获取自定义属性方法:data-id的实例
2020/09/09 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
使用python3构建文件传输的方法
2019/02/13 Python
django 信号调度机制详解
2019/07/19 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
python实现淘宝购物系统
2019/10/25 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
《美丽的彩虹》教学反思
2014/02/25 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
党员岗位承诺书
2014/03/25 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
违纪开除通知书
2015/04/25 职场文书
行政处罚事先告知书
2015/07/01 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
python的变量和简单数字类型详解
2021/09/15 Python