注:第一个绝对路径之前的参数将被忽略
输出:
当然还可以放在列表里面,一起输出啊:
使用深度遍历进行模拟压栈
输出结果:
collections是Python内建的一个集合模块,提供了许多有用的集合类。
我们知道 tuple 可以表示不变集合,例如,一个点的二维坐标就可以表示成:
但是,看到 (1, 2) ,很难看出这者弯拆个 tuple 是用来表示一个坐标的。
定义一个class又小题大做了,这时, namedtuple 就派上了用场:
namedtuple 是一个函数,它用来创建一个自定义的 tuple 对象,并且规定了 tuple 元素的个数,并可以用属性而不是索引来引用 tuple 的某个元素。
这样一来,我们用 namedtuple 可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便。
可以验证创建的 Point 对象是 tuple 的一种子类:
类似地,如果要用坐标和半径表示一个圆,也可以用 namedtuple 定义:
使用 list 存储数据时首枣,按索引访问元素很快,但是插入和删除元素就很慢了,因为 list 是线性存储,数据量大的时候,插入和删除效率很低。
deque是为了高效实现插入和删除 *** 作的双向列表,适合用于队列和栈:
deque 除了实现list的 append() 和 pop() 外,还支持 appendleft() 和 popleft() ,这样就可以非常高效地往头部添加或删除元素。
使用 dict 时,如果引用的Key不存在,就会抛出 KeyError 。如果希望key不存在时,返回一个默认值,就可以用 defaultdict :
注意默认值是调用函数返回的,而函数在创建 defaultdict 对象时传入。
除了在Key不存在时返回默认值, defaultdict 的其他行为跟 dict 是完全一样的。
使用 dict 时,Key是无序的。在对 dict 做迭代时,我们无法确定Key的顺序。
如果要保持Key的顺序,可以用 OrderedDict :
注意, OrderedDict 的Key会按照插入的顺序排列,不是Key本身排序:
OrderedDict 可以实现一个FIFO(先进先闹搭出)的dict,当容量超出限制时,先删除最早添加的Key:
Counter 是一个简单的计数器,例如,统计字符出现的个数:
Counter 实际上也是 dict 的一个子类,上面的结果可以看出,字符 'g' 、 'm' 、 'r' 各出现了两次,其他字符各出现了一次。
iOS开发遇到读文件,写文件等,对文则宽含件和文件夹的 *** 作,这时就可以使用FileManager,FileHandle等类来实现。下面总结了各种常用的 *** 作:
假设用户文档下Document有如下文件和文件夹:test1.txt、fold1/test2.txt
(1)首先我们获取用户文档目录路径
(2). 对指定路径巧拿执行浅搜索,返回指定目录路径下的文件、子目录及符号链接的列表
(3). 类似上面的,对指定路径执行浅搜索,返回指定目录路径下的文件、子目录及符号链接的列表
(4). 深度遍历,会递归遍历子文件夹(但不会递归符号链接)
(5). 类似上面的,深度遍历,会递归遍历子文件夹(但不会递归符号链接)
(6). 深度遍历,会递归遍历子文件夹(包括符号链接,所以要求性能的话用enumeratorAtPath)
方式1:
方式2:
可以通过write(to:)方法,可以创建文件并将对象写入,对象包括String,NSString,UIImage,NSArray,NSDictionary等。
(1)把String保存到文件
(2)把图片保存到文件路径下
(3)把NSArray保存到文件路径下
(4)把NSDictionary保存到文件路径下
(1)方法1
(2)方法2
(1)方法1
(孙笑2)方法2
(1)方法1
(2)方法2
(1)方法1:获取所有文件,然后遍历删除
(2)方法2:删除目录后重新创建该目录
从 attributes 中获取具体的属性:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)