Python基础学习总结(二)

2、列表简介

  1. Python有内置的一种数据类型列表:list。
  2. list是一种有序的集合。
  3. 列表由一系列按特定顺序排列的元素组合。用方括号 [ ] 来表示。
  4. list里面的元素的数据类型可以不同,比如:
>>> L = ['Apple', 123, True]   # 分别是字符串,整数,布尔值

2.1索引列表

  从0开始而不是1。当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界。特殊情况,当索引开始位置超过列表范围时,返回空表,不报错。

>>> a = [1, 2, 3]
>>> a[4:]
[]
>>> a[5:8]  # 索引从开始位置就超过列表范围,返回空表,不报错。
[]

  如果要取最后一个元素,除了计算索引位置外,还可以用[-1]做索引,直接获取最后一个元素。

2.2修改、添加和删除列表元素

2.2.1添加元素

  在列表中添加元素,使用append()方法:

>>> List = [1, 2, 3, 4]
>>> List.append(5)
>>> List
[1, 2, 3, 4, 5]

2.2.2插入元素

  在列表中使用 insert() 方法,插入新元素,要指定新元素的索引和值。

>>> classmates = ['Michael', 'Bob', 'Tracy', 'Adam']
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

2.2.3删除元素

  • 删除 del 要知道索引位置   del ABC[0]:
>>> A = ['a', 'b', 'c', 'd']
>>> del A[1]   # 注意索引为1,表示第2位,因为列表从0开始索引
>>> A
['a', 'c', 'd']
  • 要删除list末尾的元素,用pop()方法:
>>> A = ['a', 'b', 'c', 'd']
>>> A.pop()   # 使用pop()之后,会弹出删除的值
'd'
>>> A    # 可见最后一位的元素,被删除了
['a', 'b', 'c']
  • 要删除指定位置的元素,用pop(i)方法,其中i是索引位置:
>>> A
['a', 'b', 'c']
>>> A.pop(1)    # 通过索引,也可以删除指定位置元素
'b'
>>> A
['a', 'c']
  • 使用方法pop()删除元素(弹出),可以接着使用删除值:
>>> A = [1, 2, 3, 4, 5, 6, 7]
>>> B = A.pop()   # 你如果想在使用被删除的值,可以从新赋值
>>> A
[1, 2, 3, 4, 5, 6]
>>> B    # 被删除元素可以继续使用
7
  • 根据删除元素 remove():
>>> C = [9, 5, 2, 7, 3]
>>> C.remove(2)  # 指定删除元素 2
>>> C
[9, 5, 7, 3]

2.2.4修改元素

  要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

>>> D = [2, 2, 3, 3]
>>> D[1] = 3   # 把索引 1 的元素,变为3
>>> D
[2, 3, 3, 3]

2.3组织列表

  • 方法sort() 对列表进行永久性排序,首字母排序:
>>> A = [4, 2, 1, 7]
>>> A.sort()
>>> A
[1, 2, 4, 7]
  • 函数sorted() 对列表进行临时排序。不改变原始列表:
>>> A = [4, 2, 1, 7]
>>> sorted(A)   # 注意使用方法也和 sort() 不同
[1, 2, 4, 7]
>>> A   # 原列表不改变
[4, 2, 1, 7]
  • 倒着打印列表 reverse():
>>> A = [4, 2, 1, 7]
>>> A.reverse()   # 只是倒着打印
>>> A
[7, 1, 2, 4]
  • 确定列表长度 len():
>>> A = [1, 2, 3, 4, 5, 6]
>>> len(A)   # 和字符一样,因为字符也可以看做是列表
6

2.3.1列表中含有另一个列表

  • list元素也可以是另一个list,比如:
>>> s = ['python', 'java', ['asp', 'php'], 'scheme']
>>> len(s)
4
  • 要拿到 'php' 可以这样索引 s[2][1],因此 s 可以看成是一个二维数组。

3.操作列表

3.1遍历整个列表

1 # 使用for循环
2 
3 for a in A:  #不要漏了冒号    
4     print()  #注意缩进
5 print()  #循环结束后总结

3.2创建数值列表

  • 函数range(),range(1,5)只能打印4个数字不能打印5:
>>> for i in range(1, 5):
...     print(i)
...
1
2
3
4
  • 使用函数list()把range()转换为列表list(range(1,5)):
>>> list(range(1, 5))
[1, 2, 3, 4]
  • 对数字列表执行简单的统计计算min()最小值 ;  max()最大值 ;  sum()总和。

3.3使用列表的一部分

3.3.1切片

  对经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,简化操作。

  1. [ : ]切片的起始从0开始,[:4]表示0到3,[-3:]表示倒数3个。
  2. [2 : ]表示从第3个到末尾。
  3. 只写[ : ] 表示把原样复制,形成一个新的列表,非常的方便。
  4. [ : :步长];[ : : -1]把字符倒过来。
  5. 字符串'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串。
  6. 判断是否为回数:str(n) == str(n)[ : :-1]  

3.4元组

  1. 另一种有序列表叫元组:tuple。
  2. tuple和list非常类似,但是tuple一旦初始化就不能修改,Python把不能修改的值称为不可变的,不可变的列表被称为元组。因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

3.4.1定义元组

  1. 元组是在( )中添加元素,用逗号隔开,访问和列表一样。但不能修改值。但可以赋值。数字可以直接(1, 2, 3, 4),字符需要加引号(‘a’, ’b’, ’c’)
  2. Python在显示只有1个元素的tuple时,也会加一个逗号,以免你误解成数学计算意义上的括号。t = (1,)
  3. tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!所有要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

3.5设置代码格式

  1. PEP8 
  2. 缩进格式,4个空格
  3. 行长不超过79个字符
  4. 使用空行组织结构
原文地址:https://www.cnblogs.com/zt19994/p/7107051.html