字典和集合 字典 字典是集合类型存放多个键值对,其中键是唯一的,不能重复 字典中存放的键值对是无序的,写入的顺序和读取的顺序可能不同 字典中存放的数据是任意类型 字典可以分为可变字典和不可变字典 创建空字典 var dic: Dictionary<String,String> = Dictionary<String,String>() var dic: [String:String] = [:] var dic: [String:String] = Dictionary() var…
Swift中数组是一种数据结构,用来存放多个形同类型的数据结构,数据在数组内的存放是有序的,存进来的数据个读出来的顺序相同 Object-C 中数组能够存放任意类型的数据类型为[AnyObject] Swift中数组有两种形式: 可变数组:用var修饰,数组的内容及长度可以任意修改 不可变数组:用let修饰,数组的内容及长度都不能修改 Object-C 数组中也有两种形式 不可变数组:let arr: NSArray = NSArray.init(objects: 10,”hello”,1.23…
Swift中的面向对象5个要素:枚举.结构体.类.协议.扩展 面向对象研究的是对象,完成一件事情需要多个对象参与,是生活的映射 Swift中结构体和类非常相似,也就是结构体能完成类的所有功能.结构体是值类型,类是引用类型 结构体定义格式: struct  结构体名称{ 成员变量(数据类型定义的变量)—属性 成员方法(函数)     —行为 } 结构体的成员变量不要求初始化 如果结构体的成员变量赋初值,编译器会自动生成一个不带参数的构造器,原有的之一构造器还可以继续使用 结构体自动提供了逐一构造器…
8  闭包 Swift语言中可以使用一块独立代码块替代函数的定义,称独立的代码块为闭包 闭包格式为: {(参数列表)->返回值类型    in 执行语句 } 例子: <1>使用闭包实现两个数的和 var sum:(Int,Int) ->Int = {(a:Int, b:Int)->Int in return a + b} <2>使用闭包实现一个整数和一个字符串的拼接,将拼接的结果返回 var append  = {(num:Int,str:String) ->…
Swift语言中每一个函数都有它特定的数据类型,称其为函数类型 函数类型和基本数据类型一样,可以定义变量或者常量,可以定义函数形参,也可以做为函数的返回值类型 函数类型的格式为:参数列表的数据类型—>返回值类型 <1>func test1(name: String,age: Int)->String{} 函数类型:(String,Int)->String <2>func test2(a: Int){} 函数类型:(Int)->() 或者 (Int)->…
6 函数 函数就是对某个功能的封装,一个swift程序可能由多个函数组成 swift中定义函数的格式: func 函数名称(参数列表) —>函数返回值类型{ 函数体 return } 函数定义要素: func 是定义函数的关键字 函数名名字:为了增强可读性,函数的名称只能用字母字符来命名,函数名称以驼峰式命名法来命名 参数列表:可以带多个参数,也可以没有参数 如果带有多个参数,格式为:参数名称:类型标注,参数名称:类型标注… 如果函数带有多个参数,调用函数的时候,向函数传递的数据,类型必须要和定…
4 字符串   Swift and Object-C 字符串由多个字符组成,使用 “” 引起的内容 swift语言中提供了两种字符串:可变字符串和不可变字符串 可变字符串:字符串的内容可以修改,字符串的长度可以修改,用var修饰 不可变字符串: 字符串的内容和长度都不能修改,用let修饰 Swift 和 Obiect-C之间的转换 用as 转换    [当前类型  as  想转换的类型] var str: NSString = “I Love Object - C” let str0 = str…
3 循环语句 当一段代码被多次重复利用的使用我们就使用循环 swift提供了三种形式的循环语句 1.while 循环 2.repeat — while 循环 3.for — in 循环 while 循环 格式: 循环变量初始值(循环开始的条件) while  循环条件{ 循环体 循环变量自加自检(使循环趋于终止) } 循环条件: 一般的情况都是关系表达式,偶尔也会出现关系表达式和逻辑表达式并用 while循环的执行过程:先判断循环条件是否为真,如果为真执行循环体,然后循环变量自加自检,接着继续判…
2 分支语句 当程序面临多个选择,每一个选择都会执行不同的代码块,这个时候就要使用分支语句.常见的分支语句有: if 选择语句:if... if…else if…elseif…else if是现实生活中:“如果…那么”的映射 if 选择语句 格式:if 判断条件{ 执行语句块 } [注意]:判断条件不能是普通常量表达式,只能是关系运算或者逻辑运算的表达式,只有判断条件为真的时候,才能执行语句块的内容 在swift语言中,尽量不要在if判断条件出现判断可选类型的变量是否等于nil.将可选类型的值赋…
总结分析列表.元组.字典.集合的相同与区别之处,只有彻底分清之后,就会在应用的时候,得心应手. 四句话总结 列表是一个有序且可更改的集合,允许重复成员. 元组是一个有序且不可更改的集合,允许重复成员. 集合是一个无序.不可更改*且未索引的集合,没有重复成员. 字典是一个有序且可更改的集合,没有重复成员. 公有的部分 获取长度,使用len() 要确定列表中有多少项,请使用len()函数 thislist = ["apple", "banana", "cher…
在程序开发当中,for循环使用的频率无疑是最高的.常用的swift循环是递增式遍历.当然各种循环,swift都能办到.但其大多采用关键字形式实现,大部分开发者更喜欢直接使用C式循环代码.在swift3.0后,C语言形式被彻底废弃,因此从低版本升上来的代码如果是swift风格写法,按照提示基本可以直接fix.但如果很多循环实现都是基于C语言形式,那不得不讨论一下如何拯救这个可怕的习惯了.swift的循环语言特性跟python最为接近(ps:我学的语言当中最接近).所以,大多数python循环能处理…
Python黑帽编程2.3  字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询.排序等操作,本节介绍的Python内置的数据结构可以满足大多数情况下的需求.这一部分的知识点比较多,而且较为零散,需要认真学习. 2.3.1  字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1…
从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行.在WWDC16上Apple公布了Swift3.0,从中可以看出Apple对Swift的重视,以及Swift开源半年以来的进步.尽管对于开发人员来说Swift3.0的变化会令你的程序几乎处处报错,但是试想一下如果Apple没有追求极致的精神又怎么会做出如此多的更改.今天的文章将重点介绍:What's ne…
磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 一.列表 1.列表的全部方法 如:['1','2'].['wupeiqi', 'alex'] 1 >>> dir(list) 2 ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '_…
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表示例 names = ["ZhangYang"," Guyun"," Xiangpeng"," XuLiangChen"] 通过下标访问列表中的元素,下标从0开始计数 >>> names[0] 'ZhangYan…
列表,字典,集合中根据条件筛选数据,如下所示 列表:[-10,2,2,3,-2,7,6,9] 找出所有的非负数 字典:{1:90,2:55,3:87...} 找出所有值大于60的键值对 集合:{2,3,8,6,7,5} 找出所有被3整除的数 列表 >>> from random import randint >>> data = [randint(-10,10) for x in xrange(10)] >>> data [-1, 8, -9, 9,…
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码   一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 names = ["Wang","Hou1","NiuNiu","Zhou","Hou2",[1,2]] 可以通过列表角标的方式去获得list中的值 print(names)print(names[0])…
前言 : Swift3.0的Swift的第3个主要版本,目标是安全,快速和有表现力,也是第一个有开源社区参与开发的Swift版本.由于语法和API改动比较多,Xcode 8.0 Beta提供了migrate迁移工具.这样自有的代码升级Swift3.0就比较方便了,但是,关键是要等第三方开源库升级到Swift3.0啊. 那就一起来看看Swift3.0都有哪些改变吧 大家都知道Swift诞生在Objective-C已经发展的相当成熟的情况下,为了保证ObjC开发人员顺利过渡到Swift,也因为Swi…
Python之路,Day2 - Python基础2   本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Alex',"Tenglan",'Eric'] 通过下标访问列表中的元素,下标从0开始计数 1 2 3 4 5 6 7 8 >>> names[0] 'Alex' >>>…
C#在foreach循环中修改字典等集合出错:System.InvalidOperationException: Collection was modified; enumeration operation may not execute.这是因为在foreach中不允许修改集合,可通过如下方式修改dictPublish的值,如: Dictionary<string, string> _dict = new Dictionary<string, string>(dictPublis…
UICollectionView在Swift3.0中的用法 UICollectionView的初始化跟OC中是相似的,创建 GameView 集成自 UICollectionView .注意不同于UITableView的用法,他需要用 UICollectionViewFlowLayout 来指定一些需要设置的属性,或者可以通过遵守 UICollectionViewDelegateFlowLayout 这个代理来实现.下面我用设置属性的方式来实现的,比较方便. //布局 layout.scroll…
swift3.0 原生GET请求  POST同理 func getrequest(){ let url = URL(string: "http://117.135.196.139:") var request = URLRequest(url: url!) let list  = NSMutableArray() var paramDic = [String: String]() if paramDic.count > 0 { //设置为POST请求 request.httpMe…
昨晚上一波手贱把我的小5s升到iOS10.如此配套的话,Xcode7.3升级Xcode8.1看来也是势在必行了.公司程序是Swift2.3的,出于对苹果的恐惧迟迟不敢升级.但丑媳妇儿总要见公婆,借这个机会,也趁双休时间,做一下适配好了. 首先,强调一点.做好备份!做好备份!做好备份!重要的事情说三遍. 1.关于使用的Swift代码库的问题 这是我最心力交瘁的一个问题. 项目中使用了Swift的几个开源框架,SwiftHTTP.SwiftyJSON.KingFisher等等.我的项目并没有使用Co…
Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表.字典和元组不能用作键 引用不存在的键会引发KeyError异常 1)字典 dict { } 空字典 { key1:value1,key2:value2,... } 字典在其它编程语言中又称作关联数组或散列表: 通过键实现元素存取:无序集合:可变类型容器,长度可变,异构,嵌套…
/// 参考Swift3.0.1文档 /// 摘录来自: Apple Inc. "The Swift Programming Language (Swift 3.0.1)". iBooks. import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() aSwiftTour() } func aSwiftTour(){ //Swift中的输出…
python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> x = (1,) >>> type(x) <class 'tuple'> >>> y =(1) >>> type(y) <class 'int'> >>> z = 1, >>> type(z)…
之前讨论的字符串.列表.元组都是有序对象,本节则重点讨论无序对象:字典与集合.一.字典 列表是Python中的有序集合,列表中的序指的是列表中的元素与自然数集形成了一个一一对应的关系.例如L=['I','love','Python'],则有L[0]='I',L[1]='love',L[2]='Python',在这里可以认为0是'I'的键,'I'是键0的内容,则存在一个键值对的关系.字典相对于列表来说更为灵活,列表的键只能是自然数,而字典的键可以是任何变量名.可以将字典理解为灵活的列表.下面对字典…
本篇内容 字符串操作 列表,元组操作 字典操作 集合操作 文件操作 其他 1.字符串操作 1.1 字符串定义 特性:不可修改 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: name = "40kuaiqianzhuawawa" name = '40kuaiqianzhuawawa' 1.2 python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符.如下表:…
作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753 一.列表,元组,字典,集合分别如何增删改查及遍历. 列表 # 列表的增加 ls =['Hello','Word','JS','OK','Good'] print("原始数据:",ls) ls.append(12) # 在数组列表后面增加字符串“12” print("增加后的数组为:",ls) # 列表的删除 del ls[1] # 删除…
一.深浅拷贝 1.  值拷贝 ls1 = ls2  不开辟空间,指针跟着走.(直接将ls1中存放的地址拿过来,内存中不会开辟新的空间,所以你怎么变,我也跟着变.)(ls1内部的所有类型的值发生改变,ls2都不会随之变化) 2.  浅拷贝 ls3 = ls1.copy()  ls3新开辟空间,但数据内里面每个元素的地址同ls1.所以ls1中不可变类型变了,相当于ls1重新指到了一个新的地址,ls3还指向原来的那个地址.如果s1中可变类型的值变了,因为地址没变,只是值变了.所以ls3中可变类型的值也…