栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 容器 1.0

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 容器 1.0

文章目录
  • 容器:
    • 1.列表(list)
      • 1.1列表定义
      • 1.2 列表中元素的访问方式
      • 1.3 对列表中元素的常见操作
        • 1.3.1 操作总结
        • 1.3.2 操作展示及注意事项
    • 2.集合(set)
      • 2.1 集合的定义
      • 2.2集合中的常见操作
        • 2.2.1操作总结
        • 2.2.2 操作展示及注意事项
    • 3.元组(tuple)
      • 3.1 元组的定义
      • 3.2 元组中的常见操作
        • 3.2.1 常见操作
        • 3.2.2 操作展示及注意事项
    • 4. 字典(dict)
      • 4.1 python 中字典的定义
      • 4.2 python字典中常见的操作
        • 4.2.1 操作总结
        • 4.2.2 操作展示及注意事项

容器:

python中的容器是指:存放多个元素的一种数据类型,它弥补了变量只能存储单个值得缺陷,python中的容器是:列表、元组、集合、字典等。

1.列表(list) 1.1列表定义

列表是一个有序且可更改的集合,在python中列表用方括号括起来。列表是基于链表的双向链表实现的。定义的方式有两种,一是根据弱数据类型的特点进行定义的、第二种是通过全局函数list()定义的。

1.2 列表中元素的访问方式

列表中的元素访问方式是通过下标进行访问的,需要注意的是在列表中,从左往右,由0开始计数一一对应下标;下标也可以为负数,当下标为负数时则表示从右往左,第一个下标记为-1,往左依次减小。
访问单个元素:
正方向访问:

ls = [1,2,3,4,5]
print(ls[1])

结果为:

2

负方向访问:

ls = [1,2,3,4,5]
print(ls[-2])

结果为:

4

区间访问:

ls = [1,2,3,4,5]
print(ls[1:3])

结果为:

[2, 3]

注: 区间也可以用负数表示

1.3 对列表中元素的常见操作 1.3.1 操作总结
操作描述
len()计算容器的长度
append在列表的末尾添加元素一个
insert向指定的位置添加一个元素
sort列表排序(默认从小到大的顺序,类型是int),字母按照ASII的值进行排序,需要注意的是元素类型必须一致
index查找指定元素第一次出现在列表中的位置,给出的值是下标
reverse颠倒列表的顺序
count统计指定元素在列表中出现的次数
remove删除列表中指定的元素,(注:当列表中的指定元素多次出现,则将删除列表中第一次出现的指定元素,当列表中没有指定的元素的时候将会抛出错误)
clear清除列表中的所有元素
copy拷贝、复制(注:拷贝不等价于“=”是在堆内存中进行的拷贝)
extend合并列表
pop删除列表中的最后一个元素
1.3.2 操作展示及注意事项

len: 计算列表长度,返回的是列表中容器的个数
代码:

ls = [1,2,3,4,5]
print(len(ls))

结果:

5

append: 在列表的末尾添加一个元素
代码:

ls = [1,2,3,4,5]
ls.append(8)
print(ls)

结果:

[1, 2, 3, 4, 5, 8]

insert: 向指定的位置添加元素
格式: 列表.insert(添加的位置,需要添加的元素)
代码:

ls = [1,2,3,4,5]
ls.insert(1,5)
print(ls)

结果:

[1, 5, 2, 3, 4, 5]

sort: 列表排序。
注: 默认的是从小到大的顺序,当类型是int()时,按照数字大小进行排序;如果是字母时,按照对应的ASII码进行排序;列表中的元素类型必须一致
代码:

ls = [1,5,3,2,4]
ls.sort()
print(ls)

结果:

[1, 2, 3, 4, 5]

index: 查找指定元素在列表中第次出现的位置
注: 给出的是下标,当列表中没有指定的元素的时候会给出提示。
代码:(列表中有指定的元素)

ls = [1,5,3,2,4]
print(ls.index(5))

结果:

1

代码:(列表中没有指定的元素)

ls = [1,5,3,2,4]
print(ls.index(6))

结果:

ValueError: 6 is not in list

reverse: 颠倒列表顺序
代码:

ls = [1,5,3,2,4]
ls.reverse()
print(ls)

结果:

[4, 2, 3, 5, 1]

count: 统计指定元素在列表中出现的次数,返回的是出现元素的个数。
代码

ls = [1,1,3,2,4,1]
print(ls.count(1))

结果:

3

remove: 删除列表中指定的元素。
注: 当列表中的指定元素多次出现,只会删除列表中第一次出现的元素,当列表中没有指定的元素则会抛出错误。
代码:

ls = [1,1,3,2,4,1]
ls.remove(3)
print(ls)

结果:

[1, 1, 2, 4, 1]

当指定元素在列表中多次出现:

ls = [1,1,3,2,4,1]
ls.remove(1)
print(ls)

结果:

[1, 3, 2, 4, 1]

当列表中没有指定的元素

ls = [1,1,3,2,4,1]
ls.remove(5)
print(ls)

结果:

ValueError: list.remove(x): x not in list

clear: 清除列表中的所有元素
代码:

ls = [1,1,3,2,4,1]
ls.clear()
print(ls)

结果:

[]

copy: 拷贝、复制。
注: 拷贝不等价于“=”,拷贝是在堆内存中进行拷贝。
代码:

ls = [1,1,3,2,4,1]
ls1 = ls.copy()
print(ls)
print(ls1)

结果:

[1, 1, 3, 2, 4, 1]
[1, 1, 3, 2, 4, 1]

extend: 合并列表。
代码:

ls = [1,1,3,2,4,1]
ls1 = [1,2,4,9,7,6]
ls.extend(ls1)
print(ls)

结果:

[1, 1, 3, 2, 4, 1, 1, 2, 4, 9, 7, 6]

pop: 删除列表中最后一个元素。
注: 当“pop()”括号中没有数字时,默认删除列表中最后一个元素;有数字时,指的是删除列表中对应下标的元素。
代码:(无数字时)

ls = [1,1,3,2,4,1,4,9]
ls.pop()
print(ls)

结果:

[1, 1, 3, 2, 4, 1, 4]

代码:(有数字时)

ls = [1,1,3,2,4,1,4,9]
ls.pop(3)
print(ls)

结果:

[1, 1, 3, 4, 1, 4, 9]
2.集合(set) 2.1 集合的定义

集合是无序和无索引的集合,集合的底层是基于哈希结构实现。特点是无序的,要用花括号括起来,所以无法气确定项目的显示顺序;当集合中有重复的元素,只会保留第一个元素,后面的元素会省略。

2.2集合中的常见操作 2.2.1操作总结
操作描述
clear删除集合中的所有元素
copy拷贝、复制
pop从集合中删除第一个元素
remove删除集合中指定的元素
add向集合中添加元素(注:如果集合中的元素与添加的元素重复,不会抛出错误,而且不会添加)
difference差集(注:差集是一种集合运算,记A,B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A减集合B(或集合A与集合B之差),类似地,对于集合A、B,把集合{x∣x∈A,且x∉B}叫做A与B的差集。)
intersection两个集合的交集
union两个集合的并集
update此集合与其他集合的并集来更新集合
discard删除集合中的指定的元素
2.2.2 操作展示及注意事项

clear: 删除集合中的所有元素
代码:

a = {1,5,6,3,4,7,9,6}
a.clear()
print(a)

结果:

set()

copy: 拷贝复制
代码:

a = {1,5,6,3,4,7,9,6}
a1 = a.copy()
print(a1)
print(a)

结果:

{1, 3, 4, 5, 6, 7, 9}
{1, 3, 4, 5, 6, 7, 9}

pop: 删除集合中的第一个元素
注: 括号里不能放集合中的元素,它只能删除集合中的第一个元素。
代码:

a = {1,5,6,3,4,7,9,6}
a.pop()
print(a)

结果:

{3, 4, 5, 6, 7, 9}

remove: 删除集合中一个指定的元素。
注: 当指定的元素在集合中有重复则将所有指定的元素全部删除。
代码:

a = {1,5,6,3,4,7,9,6}
a.remove(5)
print(a)

结果:

{1, 3, 4, 6, 7, 9}

add: 向集合中添加元素
注: 如果集合中的元素与添加元素重复相同,则不会添加,并且不会抛出错误。
代码:(与原有集合中的元素不重复)

a = {1,5,6,3,4,7,9,6}
a.add(8)
print(a)

结果:

{1, 3, 4, 5, 6, 7, 8, 9}

difference: 差集
注: 差集是一种集合运算,记A,B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A减集合B(或集合A与集合B之差),类似地,对于集合A、B,把集合{x∣x∈A,且x∉B}叫做A与B的差集。
代码:

a = {5,7,9,6}
a1 = {1,5,6,3}
b = a.difference(a1)
print(b)

结果:

{9, 7}

intersection: 两个集合的交集

a = {5,7,9,6}
a1 = {1,5,6,3,}
b = a.intersection(a1)
print(b)

结果:

{5, 6}

union: l两个集合的并集。
代码:

a = {5,7,9,6}
a1 = {1,5,6,3}
b = a.union(a1)
print(b)

结果:

{1, 3, 5, 6, 7, 9}

update: 此集合与其他集合的并集来更新集合,效果与“union”效果差不多,只是写法不同。
代码:

a = {5,7,9,6}
a1 = {1,5,6,3}
a.update(a1)
print(a)

结果:

{1, 3, 5, 6, 7, 9}

discard: 删除集合中的指定的元素,与“remove”用法效果一样。
注: 当指定的元素在集合中有重复则将所有指定的元素全部删除。
代码:

a = {5,7,9,6,1,5,6,3}
a.discard(5)
print(a)

结果:

{1, 3, 6, 7, 9}
3.元组(tuple) 3.1 元组的定义

元组是有序且不可更改的集合,用圆括号括起来,因为有序,所以可以用下标获取元素。
特点:元组是一个不可变得类型,元组中的元素类型一旦确定下来,就不能再改变。

3.2 元组中的常见操作 3.2.1 常见操作
操作描述
count统计元组中指定元素出现的次数
index查找指定元素在元组中第一次出现的位置,给出的是元素的下标
3.2.2 操作展示及注意事项

可以通过下标进行元素读取(可以正方向访问也可以反方向访问,还可以进行区间访问)
代码:

a = (5,7,9,6,1,5,6,3)
# 正访问
print(a[2])
# 反访问
print(a[-2])
# 区间访问
print(a[2:5])

结果:

9
6
(9, 6, 1)

count: 统计元组中指定元素在元组中出现的次数
代码:

a = (5,7,9,6,1,5,6,3)
print(a.count(5))

结果:

2

index: 查找指定元素在元组中第一次出现的位置
注: 给出的是下标
代码:

a = (5,7,9,6,1,5,6,3)
print(a.index(6))

结果:

3
4. 字典(dict) 4.1 python 中字典的定义

字典是一个无序的、可改变的、有索引的集合,用花括号编写,并且拥有键和值,也会自动排序,重复的只保留一个。
通过key去访问value,如果没有key将会抛出错误;修改value也是用key去修改。

4.2 python字典中常见的操作 4.2.1 操作总结
操作描述
clear删除字典中的所有元素
copy拷贝、复制
get(key)通过键去获取值,如果没有key将不会有任何操作,其返回值是None
keys获取字典中的所有的键
values获取字典中的所有值
setdefault获取字典中指定键的值,如果字典中没有这个指定的键,将会将这个键的值插入到最后,并且这个键的值为None
items返回所有键值对的元组的列表
pop(key)删除指定键及其对应的值,如果字典中没有这个指定的键将会抛出错误】
popitem移除键值对,顺序是从后往前进行移除
4.2.2 操作展示及注意事项

clear: 删除字典中的所有元素
代码:

a = {"name":"zhangsan","num":123456,"age":18}
a.clear()
print(a)

结果:

set()

copy: 拷贝、复制
代码:

a = {"name":"zhangsan","num":123456,"age":18}
a1 = a.copy()
print(a1)

结果:

{'name': 'zhangsan', 'num': 123456, 'age': 18}

get: 通过钥匙(key,键)去获取value(值),如果没有该钥匙,不会抛出异常,返回值为“None”

a = {"name":"zhangsan","num":123456,"age":18}
print(a.get("name"))
print(a.get("pass_word"))

结果:

zhangsan
None

keys: 获取字典中的所有键(key)

a = {"name":"zhangsan","num":123456,"age":18}
print(a.keys())

结果:

dict_keys(['name', 'num', 'age'])

values: 获取字典中的所有的值
代码:

a = {"name":"zhangsan","num":123456,"age":18}
print(a.values())

结果:

dict_values(['zhangsan', 123456, 18])

**setdefault:**获取字典中指定键的值
注: 如果字典中没有这个指定的键,将会将这个键添加到字典最后,值设置为“None”
代码:

a = {"name":"zhangsan","num":123456,"age":18}
# 字典中有指定的键
print(a.setdefault("name"))
# 字典中没有指定的键
print(a.setdefault("pass_word"))
print(a)

结果:

zhangsan
None
{'name': 'zhangsan', 'num': 123456, 'age': 18, 'pass_word': None}

items: 返回所有的键值对
代码:

a = {"name":"zhangsan","num":123456,"age":18}
print(a.items())

结果:

dict_items([('name', 'zhangsan'), ('num', 123456), ('age', 18)])

pop: 通过键删除指定键及其对应的值,如果没有指指定的键会抛出异常
代码:

a = {"name":"zhangsan","num":123456,"age":18}
a.pop("name")
print(a)

结果:

{'num': 123456, 'age': 18}

popitem: 移除键值对,顺序是从后往前进行移除
代码:

a = {"name":"zhangsan","num":123456,"age":18}
a.popitem()
print(a)

结果:

{'name': 'zhangsan', 'num': 123456}

通过键去改变值(value):
代码:

a = {"name":"zhangsan","num":123456,"age":18}
a["name"] = "lisi"
print(a)

结果:

{'name': 'lisi', 'num': 123456, 'age': 18}

遍历字典:
代码1:

a = {"name":"zhangsan","num":123456,"age":18}
for i in a:
	print(i,a.get(i))

结果:

name zhangsan
num 123456
age 18

代码2:

a = {"name":"zhangsan","num":123456,"age":18}
for i in a.keys():
	print(i,a[i])

结果:

name zhangsan
num 123456
age 18

代码3:

a = {"name":"zhangsan","num":123456,"age":18}
for i,n in a.items():
	print(i,n)

结果:

name zhangsan
num 123456
age 18
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/920760.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号