【第22期】观点:IT 行业加班,到底有没有价值?

Swift 2.0 学习第3天: 字典和数组

原创 2015年11月20日 11:00:22

//: Playground - noun: a place where people can play


import Cocoa


/*

var str = "Hello, playground"


let nameArr = ["哈哈哈"]

for i in 0..<nameArr.count {

//    print(nameArr[i])

    

    for char in nameArr[i].unicodeScalars {

        var b = char.value

        print(b)//ASIIC

        

//        var a = Character(UnicodeScalar(char.value))

        var a = UnicodeScalar(char.value)

        print(a)//字符

    }

}

*/


/*

print("-----------------------------------")

/*-1-**********数组**********/

let myArr = ["1", "2", "0"]

print(myArr)


//声明

var arr:[String]

var arr1:Array<Int>

//赋值

arr = ["0", "1"]

arr1 = [0, 1, 2]

print(arr)

print(arr1)


//初始化,创建空数组 ****

var nullArr = [Int]()

var nullArr1:[String] = []

var nullArr2:Array<Float> = []

//初始化指定数的指定个数

var nullArr3 = [Int](count: 0, repeatedValue: 10)


//直接初始化

var nullArr4 = ["1", "2"]


//print(nullArr)

//print(nullArr1)

//print(nullArr2)

print(nullArr3)


//赋值

nullArr = [1, 2, 3]

nullArr1 = ["one", "two", "three"]

nullArr2 = [1.1, 2.2, 3.3]

//print(nullArr)

//print(nullArr1)

//print(nullArr2)


//数组的操作 ********

//1 -

nullArr1.insert("four", atIndex: nullArr1.count)//插入指定位置

print(nullArr1)


nullArr1.append("five")//追加在数组尾部

print(nullArr1)


nullArr1 += ["six"]//赋值追加至尾部,也可多个元素

print(nullArr1)


//1.1 - 数组的加法

//let tempArr = ["x", "y", "z"]

//nullArr1 = nullArr1 + tempArr

//print(nullArr1)


//1.2 - 根据区间赋值

//在数组个数范围内:

//多则追加在后面

//少则删除对应的原数组的元素

//正常情况,在范围内,,区间的步长对应个数的 元素


//三种特殊情况

//nullArr1[0...2] = ["6", "7"] //>

//print(nullArr1)

//nullArr1[0...1] = ["6", "7", "8"] //<

//print(nullArr1)

//nullArr1[1...2] = ["6", "7", "8"];

//print(nullArr1)


//2 -

//nullArr1.removeAtIndex(0)//删除置顶位置的元素

//print(nullArr1)

//nullArr1.removeLast()//删除最后元素

//print(nullArr1)


//3 -

nullArr1[2] = "2"

print(nullArr1)


//4 -

//var char = nullArr1[3]

//print(char)


//5 - 判断数组是否为空

if nullArr1.isEmpty {

    print("没有元素")

}else {

    print(nullArr1)

}


print("------------------")

//6 - 枚举数组中的元素

for str in nullArr1 {

    print(str)

}

print("------------------")

for i in 0 ..< nullArr1.count {

    print(nullArr1[i])

}

print("------------------")

//同时获取下标和元素

for (index, value) in EnumerateSequence(nullArr1) {

    print("\(index) = \(value)")

}


*/


//复习

//数组的声明

var myArr11:[String]

var myArr22:Array<Int>


//数组的初始化

var myArr33:[Int] = []

var myArr44:Array<String> = []

var myArr55 = [Float]()

var myArr66 = [Double](count:3, repeatedValue:10)


print("-----------------------------------")

/*-2-**********字典**********/

//字典的声明

var dict:[String:String]

var dict1:Dictionary<Int,Int>


//直接初始化

var dict2 = ["name":"xxz","sex":"boy"];

print(dict2)


//直接清空

dict2 = [:] //[:] 表示空字典

print(dict2)


//但初始化时,不能直接用[:],否则默认为NSDictionary

var dic = [:]; print(dic)

dic = ["name":"xxz","info":"info"];print(dic)


//字典的赋值

dict = ["name":"xxz","age":"25"]

dict1 = [1:12,2:23]


//字典的个数

let index = dict.count;print(index)


//字典的初始化 =>创建空的字典 ****

var nullDict = [String:String]()

var nullDict1 = Dictionary<String,String>()

//print(nullDict) //[:] 表示空字典

//print(nullDict1)


//字典的操作 ********

//

//直接根据名字赋值,,若有key直接更新,若没有key,直接添加

nullDict["name"] ="xxz"

print(nullDict)


//更新,,若有key直接更新,若没有key,直接添加

nullDict.updateValue("25", forKey:"age")

print(nullDict)


//删除

//nullDict["age"] = nil//将指定的keynil=>没有值,OCnil=>指值为空

//print(nullDict)

//nullDict.removeValueForKey("name")//移除指定的key

//print(nullDict)


//

//1

let age = nullDict.indexForKey("age")

print("age =\(age)")//


//2

var name = nullDict["age"]

print(name!)//String   

//or

var name1 = nullDict["age"]!

print(name1)//String


//

//若是数字组成的字符串 => Int

//否则, ? 直接没有值nil, !直接报错

let value11:Int! =Int(nullDict["age"]!)

print(value11)//Int


//获取字典的所有keyvalue,转换成数组

var keysArr = Array(nullDict.keys);

var valuesArr = [String](nullDict.values)

print("keysArr =\(keysArr)")

print("valuesArr =\(valuesArr)")


if nullDict.isEmpty {

    print("字典为空")

}else {

    print("字典不为空")

}


print("-------------------------")

//遍历

//1 同时获取keyvalue

for (key, value) innullDict {

    print("\(key):\(value)")

}

print("-------------------------")

//2 只获取key

for key in nullDict.keys {

    print("key = \(key)")

    

    if key == "age" {//根据key取值

        var age = Int(nullDict[key]!)//转换成Int //or

//        var age:Int! = Int(nullDict[key]!)

        var myAge = age!+10//若进行操作必须加!,或者声明时加上!

        print("myAge =\(myAge)")

    }

}

print("-------------------------")

//3 只获取value

for value innullDict.values {

    print("value =\(value)")

}

print("-------------------------")

for (index, element) in EnumerateSequence(nullDict) {

    print("\(index):\(element)")

}

print("-------------------------")






版权声明:转发请注明原文出处, 谢谢! 举报

相关文章推荐

swift基础学习(03)[数组、集合、字典]

数组、集合、字典

《从零开始学Swift》Swift 2.0学习笔记(Day 36)——静态方法

原创文章,欢迎转载。转载请注明:关东升的博客 静态方法与静态属性类似,<span lang

swift学习笔记(一)(常量、变量、数据类型、字符串的拼接、数组、字典)

import Foundation print("wangshuai") // 1.var 变量 // 当指定一个变量的时候就不可以再指定了,比如 var a = 1 虽然修饰的a可...

Swift字典类

在Foundation框架中提供一种字典集合,它是由“键-值”对构成的集合。键集合不能重复,值集合没有特殊要求。键和值集合中的元素可以是任何对象,但是不能是nil。Foundation框架字典类也分为NSDictionary不可变字典和NSMutableDictionary可变字典。一、NSDictionary类<

《从零开始学Swift》学习笔记(Day 16)——字典集合

创文章,欢迎转载。转载请注明:关东升的博客  </p
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)