《python基础教程》 --读书笔记(1)

列表和元组

  数据结构是通过某种方式(例如对元素进行编号)组织在一起的的数据元素的集合,这些元素可以是数字或者字符,甚至是其他数据结构。在python中,最基本的数据结构是序列。序列中的每一个元素被分配一个序列号——元素的位置,也称为索引。

序列通用操作

  所有的序列都可以进行某些特定的操作,这些操作包括:索引(indexing)分片(slicing)加(adding)乘(multipiying)迭代(iteration)计算长度检查某个元素是否属于序列的成员找出最大元素及最小元素的内建函数

  1. 索引
    序列中的所有元素都是有编号的,从0开始递增,可通过编号访问元素。使用负索引时,python会从右边,也就是最后一个元素开始计数,最后一个元素的位置编号是-1
>>> greeting = "hello"
>>> greeting[0]
'h'
>>> greeting[-1]
'o'
  1. 分片
    a. 通过分片操作来访问一定范围内的元素,分片通过冒号隔开的两个索引来实现。符合左闭右开原则,意思就是分片操作需要提供两个索引作为边界,第一个索引的元素是包含在分片内的,而第二个则不在
>>> tag = "https://editor.csdn.net/"
>>> tag[8:23]
'editor.csdn.net'
>>> tag[8:24]
'editor.csdn.net/'
>>> tag[:8]
'https://'
>>> tag[8:]
'editor.csdn.net/'
>>> tag[:]
'https://editor.csdn.net/'

b. 更大的步长,步长不能为0,但可以是负数,此时分片从右到左提取元素。

>>> numbers = [1,2,3,4,5,6,7,8,9]
>>> numbers[0:10:2]
[1, 3, 5, 7, 9]
>>> numbers[::4]
[1, 5, 9]
>>> numbers[::-2]
[9, 7, 5, 3, 1]
  1. 序列相加
    两种相同类型的序列才能进行链接操作
>>> [1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
>>> "hello, "+"world!"
'hello, world!
  1. 乘法
    用数字x乘以一个序列会生成新的序列,在新的序列中,原来的序列会被重复x次
>>> [42]* 5
[42, 42, 42, 42, 42]
  1. 成员资格
    检查一个值是否在序列中,可以使用in运算符
>>> permissions = "rw"
>>>> "w" in permissions
True
>>> "x" in permissions
False
  1. 长度,最小值和最大值
    使用内建函数len、min、max。
>>> numbers = [1,2,6,8]
>>> len(numbers)
4
>>> min(numbers)
1
>>> max(numbers)
8

列表

列表可以使用所有适用于序列的标准操作

  1. 元素赋值
>>> x =[1,1,1]
>>> x[1] = 2
>>> x
[1, 2, 1]
  1. 删除元素
>>> del x[1]
>>> x
[1, 1]
  1. 分片赋值
    可以一次性为多个元素赋值,可以在不需要替换任何原有元素的情况下插入新的元素,也可以通过分片赋值来删除元素
>>> name = list("perl")
>>> name[1:] = list("ython")
>>> name
['p', 'y', 't', 'h', 'o', 'n']
>>> numbers = [1,5]
>>> numbers[1:1] = [2,3,4]
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers[1:4] = []
>>> numbers
[1, 5]
  1. 列表方法
  • append
    append方法用于在列表末尾追加新的对象
>>> lst = [1,2,3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
  • count
    count方法统计某个元素在列表中出现的次数
>>> x = [[1,2],1,2,[1]]
>>>> x.count(1)
1
  • extend
    extend方法可以在列表末尾一次性追加另一个序列的多个值
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]

extend方法看起来很像连接操作,区别在于,extend方法修改了被扩展的序列

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a+b
[1, 2, 3, 4, 5, 6]
>>> a
[1, 2, 3
  • index
    index方法用于从列表中找出某个值第一个匹配的索引位置
>>> lst = [1,2,3,4,5,4,3,2,1]
>>> lst.index(2)
1
>>> lst.(6)
  File "<stdin>", line 1
    lst.(6)
        ^
SyntaxError: invalid syntax
  • insert
    insert用于将对象插入到列表中
>>> lst.insert(-1,6)
>>> lst
[1, 2, 3, 4, 5, 4, 3, 2, 6, 1]
  • pop
    pop方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值
>>> lst
[1, 2, 3, 4, 5, 4, 3, 2, 6, 1]
>>> lst.pop()
1
>>> lst.pop(4)
5
>>> lst
[1, 2, 3, 4, 4, 3, 2, 6]
>>> lst.append(lst.pop())
>>> lst
[1, 2, 3, 4, 4, 3, 2, 6]
  • remove
    remove方法用于移除列表中某个值的第一个匹配项,没有返回值
>>> lst.remove(2)
>>> lst
[1, 3, 4, 4, 3, 2, 6]
  • reverse
    reverse方法将列表的元素反向存放
>>> lst.reverse()
>>> lst
[6, 2, 3, 4, 4, 3, 1]
  • sort
    以默认的方式进行排序
>>> lst
[6, 2, 3, 4, 4, 3, 1]
>>> lst.sort()
>>> lst
[1, 2, 3, 3, 4, 4, 6]

元组:不可改变的序列

元组与列表一样,也是一种序列。唯一的不同是元组不能修改,创建语法,用逗号分隔。因为不可变的属性,元组可以在映射时中当作键使用

>>> 1,2,3
(1, 2, 3)
>>> ()
()
>>> 42,
(42,)
  • tuple函数
    以一个序列为参数并把它转化为元组
>>> tuple([2,3,4])
(2, 3, 4)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值