列表与元组

浏览 1013

课文

## 列表的概念 列表就是多个任意元素按顺序排列的组合。 创建列表有好几种不同的方式,最简单的方式是用方括号将元素包含在内,同时用逗号作间隔。 例: ```python [10, 20, 30, 40] ['西瓜', '南瓜', '冬瓜', '西红柿'] [1, '太阳花', 1.2, ['小明', 2]] ``` 第一个列表全部由 `int` 类型的数据组合而成,第二个列表全部由 `str` 类型的数据组合而成。像第三个列表就是由 `int` 与 `str` 和 一个 `list`类型组合而成。 ## 修改列表 就像字符串的操作一样,我们依旧可以用序号去获取列表中的元素。使用方括号操作符,同时记得序号从 `0` 开始。 ```python dogs = ['泰迪', '哈士奇', '金毛'] print(dogs[0]) ``` ```output 泰迪 ``` 同时我们还可以修改列表中的元素。 ```python dogs = ['泰迪', '哈士奇', '金毛'] dogs[0] = '秋田犬' print(dogs) ``` ```output ['秋田犬', '哈士奇', '金毛'] ``` `in` 操作符可以帮助我们判断元素是否在列表中。 ```python dogs = ['泰迪', '哈士奇', '金毛'] print('泰迪' in dogs) print('柴犬' in dogs) ``` ```output True False ``` `+` 操作符可用来拼接列表。 ```python dogs = ['泰迪', '哈士奇', '金毛'] cats = ['蓝猫', '波斯猫'] pets = dogs + cats print(pets) ``` ```output ['泰迪', '哈士奇', '金毛', '蓝猫', '波斯猫'] ``` `*` 操作符可以重复列表。 ```python cats = ['蓝猫', '波斯猫'] print(cats * 2) ``` ```output ['蓝猫', '波斯猫', '蓝猫', '波斯猫'] ``` ## 列表切片 列表的切片与字符串类似,有所遗忘的同学可以回看下字符串那章。 ```python t = ['a', 'b', 'c', 'd', 'e', 'f'] print(t[1:3]) print(t[:4]) print(t[3:]) print(t[:]) ``` ```output ['b', 'c'] ['a', 'b', 'c', 'd'] ['d', 'e', 'f'] ['a', 'b', 'c', 'd', 'e', 'f'] ``` 不同的是列表可对切片再赋值,如果切片的长度与赋值的列表长度不同,会影响到原有列表的长度。 ```python t = ['a', 'b', 'c', 'd', 'e', 'f'] t[1:3] = ['x', 'y', 'z'] print(t) ``` ```output ['a', 'x', 'y', 'z', 'd', 'e', 'f'] ``` ## 列表的方法 `append` 可在列表结尾追加一个元素。 ```python cats = ['蓝猫', '波斯猫'] cats.append('布偶猫') print(cats) ``` ```output ['蓝猫', '波斯猫', '布偶猫'] ``` `extend` 则是同时追加多个元素。 ```python cats = ['蓝猫', '波斯猫'] cats.extend(['布偶猫', '哆啦A梦']) print(cats) ``` ```output ['蓝猫', '波斯猫', '布偶猫', '哆啦A梦'] ``` `sort` 则可以帮助我们排序列表。 ```python t = ['d', 'c', 'e', 'b', 'a'] t.sort() print(t) ``` ```output ['a', 'b', 'c', 'd', 'e'] ``` ## 删除元素 `pop` 可以帮助我们通过序号删除元素,如果不提供序号值默认删除最后一个元素。`pop` 在删除一个元素的同时会返回元素。 ```python cats = ['蓝猫', '波斯猫', '哆啦A梦'] print(cats.pop()) print(cats) ``` ```output 哆啦A梦 ['蓝猫', '波斯猫'] ``` 如果不需要返回被删除的元素值,也可以使用 `del` 操作符删除元素。 ```python cats = ['蓝猫', '波斯猫', '哆啦A梦'] del cats[0] print(cats) ``` ```output ['波斯猫', '哆啦A梦'] ``` 如果要移除一段切片,同样可以用`del`操作符。 ```python cats = ['蓝猫', '波斯猫', '哆啦A梦', '加菲'] del cats[1:3] print(cats) ``` ```output ['蓝猫', '加菲'] ``` 如果需要移除已知的元素,可以用 `remove` 方法。 ```python cats = ['蓝猫', '波斯猫', '哆啦A梦'] cats.remove('蓝猫') print(cats) ``` ```output ['波斯猫', '哆啦A梦'] ``` ## 列表相关函数 有一些内建函数可以让我们直接用在列表上。 例: ```python nums = [3, 41, 12, 9, 74, 15] print('元素个数:', len(nums)) print('元素最大值:', max(nums)) print('元素最小值:', min(nums)) print('元素值总和:', sum(nums)) print('平均数:', sum(nums) / len(nums)) ``` ```output 元素个数: 6 元素最大值: 70 元素最小值: 3 元素值总和: 150 平均数: 25.0 ``` ## 元组 在 python 中元组与列表非常相似甚至有时让人难以区分。元组同样是一系列元素的集合,同样支持任意类型。最大的区别是列表是可以修改的,元组不行。 元组的定义很直观,直接将数据用逗号分隔。 ```python cats = '蓝猫', '波斯猫', '哆啦A梦' print(type(cats)) print(cats) ``` ```output <class 'tuple'> ('蓝猫', '波斯猫', '哆啦A梦') ``` 如果我们尝试对元组中的数据进行修改,则会报错。 ```python cats = '蓝猫', '波斯猫', '哆啦A梦' cats[0] = '美短' ``` ```output Traceback (most recent call last): File ".\test\qqwe.py", line 50, in <module> cats[0] = '美短' TypeError: 'tuple' object does not support item assignment ```

实战

1.引导用户输入三个他最喜欢的动物,并将其保存到数组中,最后打印数组。

解析

1.引导用户输入三个他最喜欢的动物,并将其保存到数组中,最后打印数组。 ```python animals = [] animals.append(input('请输入三个你最喜欢的动物:\n')) animals.append(input()) animals.append(input()) print(animals) ``` ```output 请输入三个你最喜欢的动物: 小狗 小猫 小老鼠 ['小狗', '小猫', '小老鼠'] ```
点击查看

评论

登录参与讨论

wwd

元祖的使用还是不太懂

06-24

回复

共 1 条
  • 1
前往
  • 1