python基础2——数据类型

文章目录

  • 一、字符串处理
    • 1.1 占位符
    • 1.2 拼接符
    • 1.3 统计字符串长度
    • 1.4 切片取值
    • 1.5 内置字符串处理方法
  • 二、组合数据类型
    • 2.1 列表
    • 2.2 元组
    • 2.3 集合
    • 2.4 字典
  • 三、数据类型转换

一、字符串处理

1.1 占位符

  • 可以使用%s占位符在字符串中引用变量。

1.有两种写法。

name = "qingjun"
age = 25

#写法一。
print("我的名字是:%s,年纪是:%s" %(name,age))

#写法二。
print(f"我的名字是:{name},年纪是:{age}")

2.查看效果。
在这里插入图片描述

1.2 拼接符

  • 可以使用拼接符对多个字符串进行拼接,比如+、,、join()。

1.使用加号、逗号进行拼接。

a = "Hello"
b = "World"

##写法一。
print(a+'-'+b)

##写法二。
print(a,'-',b)

2.查看效果。
在这里插入图片描述

1.3 统计字符串长度

  • 使用len()内建函数统计字符串长度。

1.示例代码。

qingjun = "djssaldjlkassd"
print(len(qingjun))

2.查看效果。
在这里插入图片描述

1.4 切片取值

  • 切片:截取字符串中的某部分内容。
  • 语法格式:STRING[START:END:STEP]
  • string 要切片的字符串。
  • start 要切片的第一个字符的索引(包括该字符),如果不指定默认为0。
  • end 要切片的最后一个字符的索引(不包括该字符),如果不指定默认为字符串的长度。
  • step 表示切片的步长,如果不指定默认为1

1.示例代码。

qingjun = "ssdjisndkam"

##取字符串索引下标为3的字符。
print(qingjun[3])

##取字符串索引下标1到3之间的字符。
print(qingjun[1:3])

##取字符串索引下标1到8之间的字符,且步长为2,默认步长为1。
print(qingjun[1:8:2])

2.查看结果。

1.

1.5 内置字符串处理方法

  • pycharm中内置字符串处理方法很多,如下是比较常用的。

1.示例代码。

qingjun = "Js aa kj PT! "

print("首字母大写:%s" %qingjun.capitalize())   #疑问
print("大小写切换:%s" %qingjun.swapcase())
print("字符串a出现次数:%s" %qingjun.count("a"))
print("感叹号是否结尾:%s" %qingjun.endswith("!"))
print("j字符是否开头:%s" %qingjun.startswith("j"))
print("k字符索引位置:%s" %qingjun.find("k"))    #与index("")效果相同。
print("P字符索引位置:%s" %qingjun.index("P"))
print("格式化字符串:qingjun" .format(","))  #疑问。
print("是否都是小写:%s" %qingjun.islower())
print("是否都是大写:%s" %qingjun.isupper())
print("所有字母转为小写:%s" %qingjun.lower())
print("所有字母转为大写:%s" %qingjun.upper())
print("感叹号替换为句号:%s" %qingjun.replace('!','。'))
print("以空格分割切分列表:%s" %qingjun.split(' '))
print("切分为一个列表:%s" %qingjun.split())
print("去除两边空格:%s" %qingjun.strip())
print("大小写互换:%s" %qingjun.swapcase())

2.查看结果。
在这里插入图片描述

二、组合数据类型

组合数据类型:

  • 可以方便处理数据,把一些同类数据放到一起,是一组数据的集合。
  • 列表(list)、元组(tuple)、字典(dict)、集合(set)。
数据类型概念定义格式
列表(List)一个序列的数据结构。成员都是有序排列,并且可以通过索引访问一个或多个成员。名称 = [“元素1”,“元素2”,…]
元组(Tuple)与列表类似,也是一个序列数据结构。主要区别在于元组中的元素不能修改。名称 = (“元素1”,“元素2”,…)
集合(Set)一个无序、不重复元素的序列,主要用于元素去重和关系测试。
支持测试联合、交集、差集、对称差集
set()函数或者大括号来创建集合。
字典(Dict)一个具有映射关系的数据结构。用于存储有一定关系的元素。d = {‘key1’:value1, ‘key2’:value2, ‘key3’:value3}

2.1 列表

  • 定义示例:computer = [“主机”,“显示器”,“鼠标”,“键盘”]
基本操作定义格式释义
index(“元素”)
count(“元素”)
reverse()
sort()
查看元素索引位置
统计元素出现次数
倒序排序元素
进行排序
append(“元素”)
insert(index, “元素”)
追加一个元素
在指定索引位置插入一个元素
computer[index] = “元素”修改指定索引的值
remove(“元素”)
pop(index=-1)
删除指定元素
通过索引删除元素并返回索引
切片list[START:END:STEP]截取输出列表中的某些元素。
清空列表computer = []
del computer
重新初始化列表
del语句删除列表

1.查看列表元素。

computer = ["主机","内存条","硬盘","耳机","耳机"]
print(computer)

#查。
print(computer.index("内存条"))  ##查看元素索引位置。
print(computer.count("耳机"))   ##统计元素出现次数。
computer.sort()   ##根据索引正序排序。
print(computer)
computer.reverse()    ##根据索引倒序排序。
print(computer)

在这里插入图片描述
2.增加列表元素。

computer = ["主机","内存条","硬盘","耳机","耳机"]
print(computer)

#增。
computer.append("U盘")    ##列表末尾追加一个元素。
print(computer)
computer.insert(1,"音响")    ##指定索引位置添加一个元素。
print(computer)

在这里插入图片描述
3.修改列表元素。

computer = ["主机","内存条","硬盘","耳机","耳机"]
print(computer)

#改。
computer[0] = "显示屏"   ##修改指定索引的值
print(computer)

在这里插入图片描述
4.删除列表元素。

computer = ["主机","内存条","硬盘","耳机","耳机"]
print(computer)

#删。
computer.remove("耳机")   ##删除指定元素。
print(computer)
computer.pop(1)     ##通过索引删除元素
print(computer)

在这里插入图片描述
5.切片。

computer = ["主机","内存条","硬盘","耳机","耳机"]
print(computer)

#切片。
print(computer[0])   ##截取第1个元素
print(computer[0:5])    ##截取第1个字符到第5个元素。
print(computer[0:-1])     ##截取第1个到倒数第2个元素。
print(computer[-1])     ##截取最后1个元素。

在这里插入图片描述
6.清空列表。

computer = ["主机","内存条","硬盘","耳机","耳机"]
print(computer)

#清空列表。
computer = []  ##重新初始化列表。
print(computer)
del computer   ##del语句删除列表。

在这里插入图片描述

2.2 元组

  • 定义示例:computer = (“主机”,“显示器”,“鼠标”,“键盘”)
  • 元组只能查看,不能删除、修改。
基本操作定义格式释义
index(“元素”)
count(“元素”)
查看元素索引位置
统计元素出现次数

1.查看元组。

computer = ("主机","内存条","硬盘","耳机","耳机")
print(computer)

#查看元组。
print(computer.index("主机"))    ##查看元素索引位置
print(computer.count("主机"))   ##统计元素出现次数

在这里插入图片描述

2.也支持切片。

computer = ("主机","内存条","硬盘","耳机","耳机")
print(computer)

#切片。
print(computer[0])   ##截取第1个元素
print(computer[0:5])    ##截取第1个字符到第5个元素。
print(computer[0:-1])     ##截取第1个到倒数第2个元素。
print(computer[-1])     ##截取最后1个元素。

在这里插入图片描述

2.3 集合

  • 定义空数组:computer = set()
  • 定义元组一:computer = {“主机”,“显示器”,“鼠标”,“键盘”}
  • 定义元组二:computer = set([“主机”,“显示器”,“鼠标”,“键盘”,“主机”])
基本操作定义格式释义
\不支持,一般用for遍历
add(“元素”)添加元素
remove(“元素”)
discard(“元素”)
pop()
删除指定元素
如果有元素则删除
随机删除一个元素
关系测试符号释义
-差集
&交集
|合集、并集
!=不等于
==等于

1.定义集合。

##方式一。
computer = set()      ##定义空数组。
print(type(computer))
computer.add("音响")     ##添加元素。
computer.add("音响")
computer.add("U盘")
print(computer)
computer.remove("U盘")     ##删除元素。
print(computer)
computer.discard("U盘")     ##元素存在时则删除,元素不存在时删除不报错。
print(computer)
computer.pop()      ##随机删除一个元素。
print(computer)


##方式二。
computer = {"主机","显示器","鼠标","键盘"}     ##定义已存在元素的集合。
print(computer)

在这里插入图片描述

2.测试2个集合关系。

#对两个列表进行关系测试:
a = set([1, 2, 3, 4, 5, 6])
b = set([4, 5, 6, 7, 8, 9])

# 返回a集合中元素在b集合没有的。
print(a - b)
# 返回b集合中元素在a集合中没有的。
print(b - a)
# 返回交集,即两个集合中一样的元素。
print(a & b)
# 返回合集,即合并去重。
print(a | b)
# 判断是否不相等。
print(a != b)
# 判断是否相等。
print(a == b)

在这里插入图片描述

2.4 字典

  • 定义示例:computer = {“主机”:5000,“显示器”:1000,“鼠标”:60,“键盘”:150}
  • 字典里的值不但是可以写整数、字符串,也可以是其他数据类型,例如列表、元组、集合、字典,这样可满足一个键还包含其他属性
基本操作定义格式释义
computer[“key”]
computer.get(“key”, None)
computer.keys()
computer.values()
computer.items()
获取key的值
获取key的值,如果不存在返回None
获取所有键
获取所有值
获取所有键值
computer[“key”] = value
computer.update(dict2_name)
setdefault(“key”, default=None)
添加键值,如果键存在则覆盖
添加新字典
如果键不存在,添加键并将值设置默认值,如果键存在返回值
pop(“key”)
computer.popitem()
删除指定键
删除最后一对键值并返回

1.查看字典。

computer = {"主机":5000,"显示器":1000,"鼠标":60,"键盘":150}
print(computer)

#查。
print(computer["主机"])    ##获取key的值。
print(computer.get("音响",None))     ##获取key的值,如果不存在返回None。
print(computer.keys())      ##获取所有键。
print(computer.values())     ##获取所有值。
print(computer.items())      ##获取所有键值。

在这里插入图片描述
2.添加字典键值对。

computer = {"主机":5000,"显示器":1000,"鼠标":60,"键盘":150}
print(computer)
#增。
computer["主机"] = 10000   ##添加或更新。
print(computer)

qingjun = {"机械键盘":880,"U盘":1100}
computer.update(qingjun)    ##新增一个字典内的所有键值对。
print(computer)

computer.setdefault("蓝牙耳机", 200)   ##添加一个键值,并设置默认值。
print(computer)

在这里插入图片描述
3.删除字典键值对。

computer = {"主机":5000,"显示器":1000,"鼠标":60,"键盘":150}
print(computer)
#删除。
computer.pop("鼠标")    ##删除指定键。
print(computer)

computer.popitem()      ##删除最后一对键值并返回
print(computer)

在这里插入图片描述
4.嵌套。

computer = {"主机":{"CPU":1300,"内存":400,"硬盘":200},"显示器":1000,"鼠标":60,"键盘":["机械键盘","薄膜键盘"]}
print(computer)

#操作key中字典。
print(computer["主机"]["硬盘"])     ##查看嵌套字典中的key值。

computer["主机"]["硬盘"] = "300"     ##更改嵌套字典中的key值。
print(computer)

#操作key中列表。
print(computer["键盘"])          ##查看嵌套列表中的key值。
computer["键盘"].append("其他")        ##更改嵌套列表中的key值。
print(computer)

在这里插入图片描述

三、数据类型转换

函数描述
int(x[,base])将x转换为一个整数
float(x)将x转换为一个浮点数
str(x)将对象x转换为字符串
tuple(seq)将序列seq转换为一个元组
list(seq)将序列seq转换为一个列表

1.将字符串转换成整数。

a = '111'
type(int(a))

在这里插入图片描述
2.将字符串转换成列表。

b = '23123'
qingjun = list(b)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/56115.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AP5179 高端电流采样降压恒流驱动IC SOP8 LED车灯电源驱动

产品描述 AP5179是一款连续电感电流导通模式的降压恒流源,用于驱动一颗或多颗串联LED输入电压范围从 5 V 到 60V,输出电流 最大可达 2.0A 。根据不同的输入电压和外部器件, 可以驱动高达数十瓦的 LED。内置功率开关,采用高端电流…

【Claude2体验】继ChatGPT,文心一言,Bing等大模型后,初次对话Claude2的体验

文章目录 🌺注意事项🤖什么是Claude2⭐与之前版本的进步🛸官网的讲解🍔功能介绍🎄使用体验🎆查看不知道如何才能打开的文档 的内容🎆日常需求✨Claude✨ChatGPT3.5 🤖总结 &#x1f…

【Linux命令200例】split将一个大文件拆分成多个小文件

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,阿里云社区专家博主✌,2023年6月csdn上海赛道top4✌。 🏆本文已收录于专栏:Linux命令大全。 🏆本专栏我们会通过具体的系统的命令讲解加…

Windows下FreeImage库的配置

首先下载FreeImage库,http://freeimage.sourceforge.net/download.html,官网下载如下: 内部下载地址:https://download.csdn.net/download/qq_36314864/88140305 解压后,打开FreeImage.2017.sln,如果是vs…

springboot参数校验

springboot参数传递 PathVariableRequestParamRequestBody JSR303 jsr303 : 也称 bean validation 规范,用于java bean 验证的标准API,,他定义了一组注解,可以在javabean 的属性上声明验证规则 JSR: ja…

微信公众号开发学习

申请测试号 地址 通过F12抓取体验接口权限表的HTML 解析HTML 引入pom <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><…

127.【SpringBoot 源码刨析D】

SpringBoot 源码刨析D (三)、SpringBoot 核心功能4.单元测试功能(1).JUnit5 的变化(2).JUnit5常用注解(3).断言&#xff08; assertions &#xff09;(3.1).简单断言(3.2).数组断言(3.3).组合断言(3.4).异常断言(3.5).超时断言(3.6).快速失败 (4).前置条件&#xff08; assumpt…

SpringBoot集成MyBatisPlus+MySQL(超详细)

前言 查看此文章前强烈建议先看这篇文章&#xff1a;Java江湖路 | 专栏目录 该文章纪录的是SpringBoot快速集成MyBatis Plus&#xff0c;每一步都有记录&#xff0c;争取每一位看该文章的小伙伴都能操作成功。达到自己想要的效果~ 文章目录 前言1、什么是MyBatisPlus2、Spring…

JetBrains 为测试自动化打造的强大 IDE-Aqua

QA 和测试工程对现代软件开发必不可少。 在 JetBrains&#xff0c;我们相信使用正确的工具对每项工作都很重要。 对我们来说&#xff0c;为自动化测试开发创建单独的工具是自然而然的事&#xff0c;因为这使我们能够满足多角色软件开发团队的需求。 我们很高兴能够推出 JetBra…

Windows下RocketMQ的启动

下载地址&#xff1a;下载 | RocketMQ 解压后 一、修改runbroker.cmd 修改 bin目录下的runbroker.cmd set "JAVA_OPT%JAVA_OPT% -server -Xms2g -Xmx2g" set "JAVA_OPT%JAVA_OPT% -XX:MaxDirectMemorySize15g" set "JAVA_OPT%JAVA_OPT% -cp %CLASSP…

给你一个小技巧,解放办公室管理!

电力的稳定供应对于现代社会中的办公室和企业来说至关重要。为了应对这些潜在的问题&#xff0c;许多办公室和企业都采用了不间断电源&#xff08;UPS&#xff09;系统来提供电力备份。UPS可以保持关键设备的运行&#xff0c;确保生产和业务不受干扰。 然而&#xff0c;仅仅安装…

C# Blazor 学习笔记(0.1):如何开始Blazor和vs基本设置

文章目录 前言资源推荐环境如何开始Blazor个人推荐设置注释快捷键热重载设置 前言 Blazor简单来说就是微软提供的.NET 前端框架。使用 WebAssembly的“云浏览器”&#xff0c;集成了Vue,React,Angular等知名前端框架的特点。 资源推荐 微软官方文档 Blazor入门基础视频合集 …

NO4 实验四:生成Web工程

1、说明 使用 mvn archetype&#xff1a;generate 命令生成 Web 工程时&#xff0c;需要使用一个专门的 archetype。这个专门生成 Web 工程骨架的 archetype 可以参照官网看到它的用法&#xff1a; 2、操作 注意&#xff1a;如果在上一个工程的目录下执行 mvn archetype&…

​LeetCode解法汇总142. 环形链表 II

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a; 力扣 描述&#xff1a; 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如…

Spring Boot配置文件

hi,大家好,今天为大家带来Spring Boot 的配置文件相关的知识 文章目录 &#x1f437;上期遗留问题:约定大于配置:&#x1f96b;1.配置文件作用&#x1f96b;2.配置文件格式&#x1f96b;3.properties配置文件介绍&#x1f367;3.1properties基本语法&#x1f367;3.2 读取配置…

IDEA live templates

surround 在SQL的xml里 可以修改变量 官方文档 CDATA not null <if test"$SELECTION$ ! null and $SELECTION$ ! "> and $VAR1$ #{$SELECTION$} </if>not null like mysql <if test"$SELECTION$ ! null and $SELECTION$ ! "> and…

大数据技术之Clickhouse---入门篇---数据类型、表引擎

星光下的赶路人star的个人主页 今天没有开始的事&#xff0c;明天绝对不会完成 文章目录 1、数据类型1.1 整型1.2 浮点型1.3 布尔型1.4 Decimal型1.5 字符串1.6 枚举类型1.7 时间类型1.8 数组 2、表引擎2.1 表引擎的使用2.2 TinyLog2.3 Memory2.4 MergeTree2.4.1 Partition by分…

系统架构设计师_备考第2天(计算机组成与体系结构)

文章目录 考频&#xff08;3分左右&#xff09;一、计算机结构二、CPU组成三、冯诺依曼结构和哈弗结构四、层次化存储结构五、Cache 考频&#xff08;3分左右&#xff09; 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 计算机结构&#xff08;★&#xff0…

语义检索系统【四】:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练的单塔模型实现数据精排

搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术…

阿里云负载均衡SLB网络型NLB负载均衡架构性能详解

阿里云网络型负载均衡NLB是阿里云推出的新一代四层负载均衡&#xff0c;支持超高性能和自动弹性能力&#xff0c;单实例可以达到1亿并发连接&#xff0c;帮您轻松应对高并发业务。网络型负载均衡NLB具有超强性能、自动弹性伸缩、高可用、TCPSSL卸载、多场景流量分发和丰富的高级…