学习python 五(容器)


什么是容器?
序列,存储一些大量的数据,容器是一种数据类型
为什么学习容器?
容器改变变量只能存储单个数据的缺陷
有哪里 容器
列表
集合
元组
字典

9.1 列表(list(线性表))

线性表(常见的线性表:链表数组栈队列) --------基础链表实现的------双链表实现的
python没有数组,数组存储空间是连续的

定义:

1.弱数据类型语言
ls = [1,2,3,4]
2.全局函数list()
ls = list()
ls = list([1,2,3,4])

访问元素?
通过下标来获取元素 ,超过角标会报错,角标也可以为负数
遍历列表:
for 循环
在这里插入图片描述

while
len() -----------------返回容器的长度

常用方法:

append() -------- 像列表的尾部追加元素
insert (index,object) ---------- 在列表里指定的位置添加元素
sort() ---------- 列表元素进行排序,整形(从小到大的顺序)
index() --------- 查看列表里某一个元素的下标(如果有多个元素,查找的角标是第一个出现的位
置),如果列表里没有元素,会报错
reverse() --------- 将列表元素进行翻转
remove() -------- 通过元素在列表中删除元素,如果元素不存在会报错
count()---------- 统计元素在列表中出现次数
clear() --------清除列表
copy()------- 浅拷贝 不等价于 =
extend()------ 合并列表
pop() ------- 从列表的尾部删除元素,并且返回删除掉的元素,pop(i)------删除角标为i处的元素

练习:

L=[
[1,2,3],
[“python”,“java”,“C++”,“PHP”],
[True,False,“H”]
]
要求:
打印”3“
打印”C++“
打印”Flase“
代码:
在这里插入图片描述
结果:
在这里插入图片描述

9.2 集合(set)-----哈希结构

创建集合方法

全局函数
s = set()
s = set({1,2,3,4})
s = {1,2,3,4,5}
注意:
s = {} ------ 表示的字典,也就是说创建集合的时候至少有一个元素

集合是无序,不能重复的
s[0] ---------

定义:

在这里插入图片描述

方法:

‘add’, ‘clear’, ‘copy’, ‘difference’, ‘difference_update’, ‘discard’, ‘intersection’, ‘intersection_update’, ‘isdisjoint’, ‘issubset’, ‘issuperset’, ‘pop’, ‘remove’, ‘symmetric_difference’, ‘symmetric_difference_update’, ‘union’, ‘update’]
clear() -------------------- 清除元素
copy()------------浅拷贝 不等价于 =
remove() ------------通过元素在列表中删除元素,如果元素不存在会报错
add() ---------------- 向集合添加元素,如果添加的元素是重复的,不能够添加
difference() --------- 差集
intersection()--------- 交集
union() -------------------并集
update() -------- 更新集合,合并集合
discard()-------- 移除元素,如果元素不存在,不做任何操作

清屏操作
import os
os.system(“cls”)

9.3 元组(tuple)

元组是有序的
元组的定义方法:
弱数据类型语言
t = (1,2,3)
全局函数tuple()
t = tuple()
t = tuple((元素1,元素2))

元组的特点:

元组是有序---------通过下标来获取元素 下标可以是负数 但是不可以通过下标更改元素
在这里插入图片描述
元组是一个不可变的类型(虽然元组不可变,但是元组内的元素是可变的)
在这里插入图片描述
在这里插入图片描述

常见方法:

count() 
index ()

面试题: a = (1) ,a的类型是什么?答案:元组类型(tuple)

在这里插入图片描述

9.4 字典(dict)

字典dict  dictionary  map
以键值对存在 Key  value

定义:

在这里插入图片描述

弱数据类型语言: 
	d = {"name":"zhangsan","age":"18"} 
全局函数dict() 
	dd = dict() 
	dd = dict({"name":"zhangsan","age":"18"}) 

访问元素 通过key获取对应value ------ d[“key”],如果没有Key 会抛出异常
字典[key] = 新值
字典[新key] = 新值
在这里插入图片描述

方法:

['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

常用的方法:
‘clear’, ‘copy’, ‘fromkeys’, ‘get’, ‘items’, ‘keys’, ‘pop’, ‘popitem’, ‘setdefault’, ‘update’, ‘values’]
clear() --------清空字典
copy() ---------返回一个字典的浅复制
get() -------- 通过key获取value ,如果没有Key,返回的是none
keys()-------- 返回字典里所有的Key值
values ()-------- 返回的所有的值
setdefault ----------- 设置的默认值
items() -------- 返回所有的键值对
pop(key) ------------- 通过key来移除键值对,返回的是key所对应的value,删除字典里没有的key 会抛出异常
popitem() ---------- 移除键值对,遵循LIFO,返回值删除的键值对

字典的遍历
在这里插入图片描述
在这里插入图片描述
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
在这里插入图片描述
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

9.5 字符串

什么是字符串?
具有特殊意义的一些字符拼接在一起的串
字符定义?
单引号
双引号
三引号
str() s= str(“”)

常用方法:

‘capitalize’, ‘casefold’, ‘center’, ‘count’, ‘encode’, ‘endswith’, ‘expandtabs’, ‘find’, ‘format’,
‘format_map’, ‘index’, ‘isalnum’, ‘isalpha’, ‘isascii’, ‘isdecimal’, ‘isdigit’, ‘isidentifier’, ‘islower’,
‘isnumeric’, ‘isprintable’, ‘isspace’, ‘istitle’, ‘isupper’, ‘join’, ‘ljust’, ‘lower’, ‘lstrip’, ‘maketrans’,
‘partition’, ‘removeprefix’, ‘removesuffix’, ‘replace’, ‘rfind’, ‘rindex’, ‘rjust’, ‘rpartition’, ‘rsplit’, ‘rstrip’,
‘split’, ‘splitlines’, ‘startswith’, ‘strip’, ‘swapcase’, ‘title’, ‘translate’, ‘upper’, ‘zfill’
capitalize() ------------- 格式化字符串,将首字母大写
center() -----------------设置字符串居中
count()----------------- 统计字符的个数
endswith()------------判断字符是不是xxxxx为结尾
startswith()--------------判断字符串是不是以xxxxx为开头
index() ------------- 查找字符或者符串在字符串第一次出现的位置,如果查找的字符或者字符串没有会抛出异常
rindex()--------从右往左查找,查找字符或者符串在字符串第一次出现的位置,如果查找的字符或者字符串没有会抛出异常
find()--------查找字符或者符串在字符串第一次出现的位置,如果不存在返回是-1
rfind()-----------从右往左查找,查找字符或者符串在字符串第一次出现的位置,如果不存在返回是-1
encode() -------- Python3 将字符串转换为字节
decode() --------将字节转换为字符串
format()------基本语法是通过 {} 和 : 来代替以前的 %,可以接受不限个参数,位置可以不按顺序

‘isalnum’, ‘isalpha’, ‘isascii’, ‘isdecimal’, ‘isdigit’, ‘isidentifier’, ‘islower’, ‘isnumeric’, ‘isprintable’,
‘isspace’, ‘istitle’, ‘isupper’
islower() -------- 判断字符串是否都是小写字母
isupper()---------判断字符串是否都是大写字母
istitle()----------判断字符串是否是标题
title()--------- 将字符串转换为标题
isspace() ------- 判断字符串是否为空格位
isdigit()------- 判断字符串是否为数字
isalnum()-----判断字符串是否为数字,判断是否有有效字符
isalpha()------ 判断字符串是否都是字母
strip() ------- 去掉字符串两侧空格
rstrip()------删除字符串字符串末尾的空格
lstrip()------在字符串上执行 lstrip()
replace(“原字符串”,“新字符串”)
rjust()------返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串( 如rjust(width,[, fillchar]))
ljust()------返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格
split(“符号”) -----------分割字符串,返回结果的是列表
join()--------- 按照特定的符号将可迭代的容器拼接成字符串

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《笨办法学Python3》是一本教授Python编程基础的书籍,它分为七个部分,分别是打印与输入、文件操作、函数、数据容器与程序结构、面向对象的类、项目骨架与自动测试以及搭建简易的网站。这本书通过一系列的练习和示例,帮助读者逐步学习Python的基本语法和编程概念。 在第一部分《打印与输入》中,你将学习如何使用print函数打印输出内容,以及如何使用input函数获取用户的输入。 在第二部分《文件操作》中,你将学习如何打开、读取和写入文件,以及如何处理文件中的数据。 在第三部分《函数》中,你将学习如何定义和调用函数,以及如何传递参数和返回值。 在第四部分《数据容器与程序结构》中,你将学习如何使用列表、字典和元组等数据容器,以及如何使用条件语句和循环结构控制程序的执行流程。 在第部分《面向对象的类》中,你将学习面向对象编程的基本概念,包括类的定义、对象的创建和方法的调用。 在第六部分《项目骨架与自动测试》中,你将学习如何使用项目骨架来组织你的代码,并学习如何编写自动化测试来验证代码的正确性。 在第七部分《搭建简易的网站》中,你将学习如何使用Python搭建一个简单的网站,并学习一些与网站开发相关的知识。 通过《笨办法学Python3》,你可以系统地学习Python编程的基础知识,并通过练习提升自己的编程能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值