第3章、操作列表

目录


本章代码格式采用Anaconda3 Spyder(Python 3.8),以及其控制台console 格式

3.1、遍历整个列表

3.1.1、使用for 循环遍历列表

  1. for 的使用
#示例1
#代码
list_abc = ['a','b','c','d','e','f']
for letter in list_abc:
    print(letter)
print("end")
#输出
a
b
c
d
e
f
end

3.1.2、深入地研究for 循环

  (参考 示例1)

  1. for 中的变量letter 存放了for 访问列表时的元素
  2. for 语句后的冒号以及缩进(四个英文空格,一般tab键可以缩进),使得print() 属于for 循环,并在每次执行for 时,它都被执行
  3. 当后续语句不再与for 循环关联,便减少缩进,避免多次执行

3.2、创建数值列表

3.2.1、使用函数range()

  1. range() 能够生成一系列数字,
#示例2
#代码
for num in range(0,6):
    print(num)
#输出
0
1
2
3
4
5

#示例3
#代码
list_num = list(range(0,6))
print(list_num)
#输出
[0, 1, 2, 3, 4, 5]

 示例3 说明:

  1. list() 函数将range(0,6) 转换为列表型,同str() 函数相似
  2. range(start, stop[, step]) 函数,返回从start 开始,stop 结束(但不会有stop 的值)步长为step 的一串数字,不能直接print
  3. 可以使用help() 了解range() 函数,参考本专栏说明里的学习方法
  4. print() 会默认在输出后换行

3.2.2、对数字列表执行简单的统计计算

  1. min() 函数找出数字列表中的最小值
  2. max() 函数找出数字列表中的最大值
  3. sum() 函数求数字列表的总和

3.2.3、列表解析

  1. 用法示例:(示例4 :其中,列表squares 的元素是value**2 ,而value 又由for 提供数值,注意,for 语句后没有冒号)
#示例4
#代码
squares = [value**2 for value in range(1,11)]
print(squares)
#输出
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3.4、使用列表的一部分

3.4.1、切片

  1. 使用:通过索引,提取列表中的顺序排列的一部分,索引可以使用负值
    注意:切片的部分包含索引为start 的元素,而不包含索引为stop 的元素

语法:[***][start:stop:step]

#示例5
#代码
squares = [value for value in range(1,11)]
#完整列表
print(squares)
#情景1:包含切片始末索引
print(squares[3:7])
#情景2:省略切片始值或末值
print(squares[:7])
print(squares[3:])
#情景3:包含步长
print(squares[3:7:2])
print(squares[:7:2])
print(squares[3::2])
#输出
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7]
[4, 5, 6, 7, 8, 9, 10]
[4, 6]
[1, 3, 5, 7]
[4, 6, 8, 10]

3.4.2、复制列表

  1. 通过完全切片复制

语法:list_a = list_b[:]

切莫使用变量赋值方法(list_a = list_b 不会真正得到独立的list_b )
使用list_a = list_b 时,两个列表指向的是同一列表,任一改变时,另外一个访问到的列表也是被修改的结果
可以参考相关Python 内存分配的文章或blog,本栏目说明有提醒

3.5、元组

3.5.1、元组的性质

  1. 元组使用圆括号来标识
  2. 元组元素有序,可以通过索引访问
  3. 元组元素不可更改,但元组可更改(即可以将原元组 指向 新的元组)

3.5.2、定义元组

  1. 定义:

语法:[***] = ([***],[***],[***])

#示例6
#代码
tuple_i = ('i','am','apple.D',233)
print(tuple_i)
#输出
('i', 'am', 'apple.D', 233)

3.5.3、遍历元组

  1. 元组的访问同列表相同
#示例6
#代码
tuple_i = ('i','am','apple.D',233)
for i in tuple_i:
    print(i)
#输出
i
am
apple.D
233

上一篇:CF263B Squares 题解


下一篇:列表解析