当前位置: 首页 > news >正文

Python_3、数据容器和函数进阶

目录

数据容器

列表(list)

元组(tuple)

字符串(str)

集合(set)

字典(dict)

序列的切片

函数


数据容器

        数据容器一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素 每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。 数据容器根据特点的不同,如: 是否支持重复元素 是否可以修改 是否有序,等 分为5类,分别是:

 

列表(list)

        列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套。可以容纳多个元素(上限为2**63-1、9223372036854775807个) 可以容纳不同类型的元素(混装) 数据是有序存储的(有下标序号) 允许重复数据存在 可以修改(增加或删除元素等)

#列表的定义十分自由
list1=[1,2,"3",4.0,True,[7,8,9]]
#列表的索引正向从0开始,反向从-1开始
print(list1[0],list1[-1])
#查找元素:
print(list1.index(2))
#插入元素:1是位置,5是值
list1.insert(2,5)
#删除元素:删除4.0两种方式
list1.pop(3)
del list1[3]
#追加元素 追加6到最后 两种方式
list1.append(6)
list1.extend(6)
#清空列表:
list1.clear()
#修改元素:
list1[2]=5
#统计某个元素个数:
list1.count()
#统计长度
len(list1)

元组(tuple)

        可以容纳多个数据 可以容纳不同类型的数据(混装) 数据是有序存储的(下标索引) 允许重复数据存在 不可以修改(增加或删除元素等) 支持for循环

#元组一旦定义完成,就不可修改
#定义一个元素的元组必需带逗号,否则不是元组类型
tup1 = (1,)
tup2 =(2,False,"ss")
#定位
tup2.index(2)
#某个元素出现次数
tup2.count(False)
#取长
len(tup2)

字符串(str)

        和列表、元组大差不差

#字符串 操作差不多,但是不可修改
# 字符串的一切修改得到的都是新的字符串
str =" 123abcd321 "
#字符串的规整操作(去前后空格)
str2=str.strip()
print(str2)
#字符串的规整操作(去前后指定字符串)
print(str2.strip("132"))
#统计某字符出现次数
print(str.count("2"))
#取长
len(str)
#分割 按b分割 不包含b
str3=str.split("b")
print(str3)
#替换
str4=str2.replace("123","456")
print(str4)

集合(set)

        不支持元素的重复(自带去重功能)、并且内容无序,不支持下标索引访问

#集合定义
set1={1,2,3,4,5,6,7}
set2={5,6,7}
#集合添加
set1.add(2)
#集合移除元素
set1.remove(3)
#集合随机抽取
set1.pop()
#集合清空
set1.clear()
#集合对比
set1.difference(set2)
#集合删除集合1中集合2含有的元素
set1.difference_update(set2)
#集合俩两个集合
set1.union(set2)
#集合取长
len(set1)

字典(dict)

        字典存储的元素是一个个的:键值对,字典同集合一样,不可以使用下标索引 但是字典可以通过Key值来取得和操作对应的Value

#字典的定义方式和集合类似只不过是键值对的形式
dir={"key1":1,"key2":2}
#新增
dir["key3"]=3
#更新
dir["key2"]=3
#删除
dir.pop("key2")
#清空
dir.clear()
#获取所有key
key=dir.keys()
#取长
len(dir)

序列的切片

        这里指的切片是不影响原有数据的

my_list = [1, 2, 3, 4, 5]
new_list = my_list[1:4]	# 下标1开始,下标4(不含)结束,步长1
print(new_list)		# 结果:[2, 3, 4]
my_tuple = (1, 2, 3, 4, 5)
new_tuple = my_tuple[:]	# 从头开始,到最后结束,步长1
print(new_tuple)		# 结果:(1, 2, 3, 4, 5)
my_list = [1, 2, 3, 4, 5]
new_list = my_list[::2]		# 从头开始,到最后结束,步长2
print(new_list)		# 结果:[1, 3, 5]
my_str = "12345"
new_str = my_str[:4:2]	# 从头开始,到下标4(不含)结束,步长2
print(new_str)		# 结果:"13"

my_str = "12345"
new_str = my_str[::-1]	# 从头(最后)开始,到尾结束,步长-1(倒序)
print(new_str)		# 结果:"54321"
my_list = [1, 2, 3, 4, 5]
new_list = my_list[3:1:-1]	# 从下标3开始,到下标1(不含)结束,步长-1(倒序)
print(new_list)		# 结果:[4, 3]
my_tuple = (1, 2, 3, 4, 5)
new_tuple = my_tuple[:1:-2] 	# 从头(最后)开始,到下标1(不含)结束,步长-2(倒序)
print(new_tuple)		# 结果:(5, 3)

 

函数

多返回值

        return 1,2,3,4

参数传递

  •         位置参数
  •         关键字参数
  •         缺省参数
  •         不定长参数
#位置参数
def fun1(a,b,c):
    print(a,b,c)
#关键字参数
def fun2(a,b,c):
    print(a,b,c)
#缺省参数
def fun3(a,b,c=5):
    print(a,b,c)
#不定长参数
def fun4(*args):
    print("666")

fun1(1,2,3)
fun2(a=1,b=2,c=3)
fun3(1,2)
fun4(1,2,3,4,5)

相关文章:

  • 苏州学习网站建设/站长基地
  • 两个域名同时指向一个网站/百度点击器找名风软件
  • 武汉网站群发/百度推广一个关键词多少钱
  • 做网站用的笔记本配置/中国新闻最新消息今天
  • 网站制作工作室专业公司/百度一下你就知道官方网站
  • 网站程序代码优化/百度搜索链接
  • 面试八股-Java框架
  • 上市公司净利润增长率的计算
  • Android设计模式详解之责任链模式
  • 【论文阅读总结】inception v2_v3总结
  • 微服务(二)——注册中心(Eureka、Nacos)
  • 对经济学vs金融学认知
  • UNIX环境高级编程——1.UNIX基础知识
  • Unprojecting_text_with_ellipses过程分析
  • OpenCV基础入门
  • PMP备考大全:经典题库(敏捷管理第12期)
  • Android | Activity 启动流程分析
  • 认证鉴权对于 API 网关的重要性