python 笔记01 - 列表

我一直从事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编程-从入门到实践》的列表的笔记。接下来会继续输出读书笔记。希望学习过程中能有幸和大家沟通交流~

你可能感兴趣的:(python 笔记01 - 列表)