我一直从事iOS客户端的开发,掐指一算工作已经快满4年了,已经是一名老的程序猿了,所以要开始输出技术笔记了,哈哈哈,应该不会很晚吧。
有人会觉得为什么一个iOS开发的要开始学习python,我肯定不会回答说iOS开发已经走下没落了。本着每四年学习一门新语言的原则,我最近开始学习python了,有点小激动。哈哈哈~。写文章的目的,只是为了给自己自学过程一个交代,也希望和pythoner们一起学习探讨。
废话说了一些,恢复到严肃模式。学习新的一门语言,我觉得一般都是从语法基础开始,你不能一开始就去学爬虫这种比较进阶的东西,你首先要了解它的if/else、for循环是怎么写的,它的数组和字典是怎么操作的等等。所以今天先开始对python数组的一些操作进行总结。
- 列表的声明
list = ['first item', 'second item']
- 元素访问
print(list[0]) // 访问列表的第一个元素
print(list[-1]) // 访问列表的倒数第一个元素,以此类推list[-2]是列表中的倒数第二个元素
讲到列表的下标的问题,也许有人会很好奇,为什么下标是从0开始的,却不是从1开始的。这个是因为列表是一组连续的内存,访问列表中的元素的时候,都是列表的首地址first_address加上偏移量offset,类似公式:first_address + n * average_offset. 因为第一个元素的地址是first_address + 0 * average_offset, 第二个元素的坐标是first_address + 1 * average_offset. 如果下标是从1开始的,那么每次去获取元素的位置,我们都需要做减1的操作,无形中降低了访问效率。
- 修改元素
list[0] = "change" // 有点简单粗暴吧,哈哈
- 添加元素
list.append['new item'] // 在列表末尾加入新的元素
list.insert(2, 'new item') // 在列表下标为2的位置插入新的元素
- 删除元素
del list[0] // 删除列表中的第一个元素
item = list.pop() // 类似栈的操作,弹出最后一个元素,弹出的元素不会存在列表中了
item = list.pop(2) // 弹出列表中下标为2的元素
list.remove(item) // 直接删除,remove方法只删除出现的第一个值,如果列表中存在重复值,则需要重复删除
-
列表排序
可以使用
sort()
函数对列表进行排序操作,这个修改永久修改列表中的排列顺序。list = ['b', 'a', 'c'] list.sorts() print(list) // 结果:a, b , c
还可以向sort()函数中传递参数:
list = ['b', 'a', 'c'] list.sorts(reverse=True) print(list) // 结果:c, b , a
使用sorted()函数对列表进行临时修改:
list = ['c', 'b', 'a'] print(sorted(list)) // 结果:a, b , c
使用reverse()函数,进行倒序:
list = ['c', 'b', 'a'] print(list.reverse()) // 结果:a, b , c
列表长度
list = ['c', 'b', 'a']
print(len(list)) // 结果:3
- 遍历列表:
list = ['a', 'b', 'c']
for item in list:
print(item)
- 列表切片
列表切片顾名思义,是为了对列表的局部元素进行操作。示例代码如下所示:
list = ['a', 'b','c']
sublist = list[0:1] // 也可以使用list[:1]的形式。list[:]代表整个列表
print(sublist) // 结果:a,b
以上是我看《Python编程-从入门到实践》的列表的笔记。接下来会继续输出读书笔记。希望学习过程中能有幸和大家沟通交流~