Python数据类型之-列表、元组、字典
/

Python数据类型之-列表、元组、字典

SOSO
2022-05-10 / 0 评论 / 111 阅读 / 正在检测是否收录...

一、 列表 list

1.1 列表常用操作函数

列表操作描述
list.append(x)列表尾部追加成员x
list.count(x)返回列表中的参数x出现的次数
list.extend(list2)向列表中追加另一个列表list2
list.index(x)返回参数x在列表中的索引序号
list.insert(index, object)向列表中指定位置(index)插入数据(object)
list.pop()删除列表中尾部的成员,并返回删除的成员
list.remove(x)删除列表中的指定成员
list.reverse()将列表中成员的顺序反转
list.sort将列表中成员排序

1.2 append函数

In [8]: list = ['a', 'b', 'c']
In [9]: list.append('x')
In [10]: list
Out[10]: ['a', 'b', 'c', 'x']

1.3 extend函数

In [11]: list = ['a', 'b', 'c']
In [12]: list2 = [1, 2, 3]
In [13]: list.extend(list2)
In [14]: list
Out[14]: ['a', 'b', 'c', 'x', 1, 2, 3]

1.4 remove函数

In [15]: list = ['a', 'b', 'c']
In [16]: list.remove('c')
In [17]: list
Out[17]: ['a', 'b']

1.5 pop函数

In [19]: list = ['a', 'b', 'c', 'd']
In [20]: list.pop()
Out[20]: 'd'
In [21]: list
Out[21]: ['a', 'b', 'c']

1.6 insert函数

In [26]: list = ['a', 'b', 'c', 'x', 1, 2, 3]
In [27]: list.insert(3, 'd')
In [28]: list
Out[28]: ['a', 'b', 'c', 'd', 'x', 1, 2, 3]

二、列表切片

2.1 切片常用方法

使用形式描述
list[:]取全部元素
list[0:]取全部元素
list[:-1]取除最后中一外元素之外的所有元素
list[1:3]得到[2,3]
list[::2]每隔1个取一个元素
list[0:5:2]从0至4每隔1个取元素
list[::-1]从右至左取全部元素
list[5:0:-2]从5至0(不含0),每隔一个取元素
#取全部元素
In [4]: list = [1, 2, 3, 4, 5]
In [5]: list[:]
Out[5]: [1, 2, 3, 4, 5]

In [6]: list[0:]
Out[6]: [1, 2, 3, 4, 5]

#取除最后中一外元素之外的所有元素
In [7]: list[:-1]
Out[7]: [1, 2, 3, 4]

#得到[2,3]
In [8]: list[1:3]
Out[8]: [2, 3]

#每隔1个取一个元素
In [9]: list[::2]
Out[9]: [1, 3, 5]

#从0至4每隔1个取元素
In [11]: list[0:5:2]
Out[11]: [1, 3, 5]

#从右至左取全部元素
In [12]: list[::-1]
Out[12]: [5, 4, 3, 2, 1]

2.2 列表内置方法

方法描述
len(list)返回列表元素长度
min(list)返回列表中最小值
max(list)返回列表中最大值
sum(list, start)返回列表中元素的和
all(list)列表中所有项为真,则返回真,否则返回假
any(list)列表中有一项为真,则返回真,否则返回假

2.3 列表求和 sum(list)

In [15]: list
Out[15]: [1, 2, 3, 4, 5]

In [16]: sum(list)
Out[16]: 15

In [17]: sum(list, 15)
Out[17]: 30

2.4 列表最大值、最小值

In [19]: list = [1, 2, 3, 4, 5]
In [20]: max(list)
Out[20]: 5

In [21]: min(list)
Out[21]: 1

三、元组 tuple

元组与列表不同的是元组一旦建立是不能改变的,既不能改变其中的数据项,也不能添加和删除数据项。

3.1 创建元组

# 创建只有一个元素的元组,后面必须加 “,”
In [29]: tuple1 = (1,)

In [30]: tuple1 = (1, 2, 3)
In [31]: tuple1[0]
Out[31]: 1

# 修改元组数据项报错
In [32]: tuple1[0] = 'x'
----------------------------------------------------------
TypeError                                 Traceback (most
<ipython-input-32-5ecba0cdf597> in <module>
----> 1 tuple1[0] = 'x'
TypeError: 'tuple' object does not support item assignment

四、字典 dict

字典中每个成员是以“键:值”对的形式存在的,与列表不同的是,字典是无序的,在字典中通过键来访问成员,而不能通过索引位置来访问成员。

4.1 字典操作函数

字典操作描述
dict.clear()清空字典
dict.copy()复制字典
dict.get(k,[default])获得k键对应的值,不存在则返回default
dict.items()获得由键和值组成的迭代器
dict.keys()获得键的迭代器
dict.pop(k)删除k:v成员对
dict.update(dict1)从另一个字典更新成员(不存在就创建,存在则覆盖)
dict.values()获得值的迭代器
dict.fromkeys(iter,value)以列表或元组中给字的键建立字典,默认值为value
dict.popitem()从字典中删除任一k:v项并返回它
dict.setdefault(k,default)若字典中存在key值为k的,则返回其对应的值;否则在字典中建立一个k:default字典成员

4.2 清空字典 dict.clear()

In [42]: dict = {'name':'zs', 'age':20}
In [43]: dict
Out[43]: {'name': 'zs', 'age': 20}
In [44]: dict.clear()
In [45]: dict
Out[45]: {}

4.3 复制字典 dict.copy()

In [65]: dict = {'name':'zs', 'age':20}
In [66]: dict1 = {}
In [67]: dict1
Out[67]: {}
In [68]: dict1 = dict.copy()
In [69]: dict1
Out[69]: {'name': 'zs', 'age': 20}

4.4 获取键对应的值,不存在则返回default: dict.get(key, default)

In [74]: dict = {'name':'zs', 'age':20}
In [75]: dict.get('name')
Out[75]: 'zs'
In [76]: dict.get('gender', 0)
Out[76]: 0

4.5 获得键值对的迭代器 dict.items(); dict.keys(), dict.values()

In [77]: dict = {'name':'zs', 'age':20}
In [78]: dict.items()
Out[78]: dict_items([('name', 'zs'), ('age', 20)])

In [79]: dict.keys()
Out[79]: dict_keys(['name', 'age'])

In [80]: dict.values()
Out[80]: dict_values(['zs', 20])

4.6 更新字典成员 dict.update()

In [84]: dict = {'name':'zs', 'age':20}
In [85]: dict.update({'address':'SH'})
In [86]: dict
Out[86]: {'name': 'zs', 'age': 20, 'address': 'SH'}

4.7 删除字典成员 dict.pop()

In [86]: dict
Out[86]: {'name': 'zs', 'age': 20, 'address': 'SH'}
In [87]: dict.pop('address')
Out[87]: 'SH'
In [88]: dict
Out[88]: {'name': 'zs', 'age': 20}
0

评论

博主关闭了当前页面的评论