python基础2——数据类型

news2024/10/5 20:20:14

文章目录

  • 一、字符串处理
    • 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)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git笔记--Ubuntu上传本地项目到github

目录 1--基本配置 2--本地上传 1--基本配置 ① 创建ssh-key cd ~/.sshssh-keygen -t rsa -C "邮箱地址"② 查看并关联ssh-key gedit id_rsa.pub 复制内容,在 GitHub 中依次点击 Settings -> SSH and GPG keys -> New SSH key,将 id…

iperf3

iperf3输出的参数的信息 interval 发送一次数据的间隔 transfer 传输速率 kBytes s---秒 Bitrate bit比特。rate速率。bitrate比特率。比特率是指信息传播的速率。 Retr retry---重传 链接 cwnd 拥塞串口大小 jitter 抖动时间 lost/total lost--丢失的包 tot…

C++ 结构体和联合体

1.结构体 结构体是一种特殊形态的类,它和类一样,可以有自己的数据成员和函数成员,可以有自己的构造函数和析构函数,可以控制访问权限,可以继承,支持包含多态,结构体定义的语法和类的定义语法几…

10.VS2022打包应用程序成安装包

VS2022利用Microsoft Visual Studio Installer Projects打包应用程序,生成安装包 1.安装Microsoft Visual Studio Installer Projects 1.1 打开扩展搜索Microsoft Visual Studio Installer Projects安装 1.2 安装完之后需要重启启动一下VS 2.创建安装项目 2.1 解决方案-》…

修改文件格式(查看文件拓展名)

很多时候我们直接把txt文件重命名为xxx.c或者别的文件格式,文件类型依然会是txt,文件名并不会变成我们想要的xxx.c,而是xxx.c.txt,也就是下面这个样子 给大家介绍2种方法去解决这个问题 目录 1.另存为新格式 2.显示文件拓展名 1…

【网络编程】五种网络IO模式

对于一次IO访问(以read为例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。所以说,当一个read操作发生时,会经历两个阶段: 1、等待数据准…

解决一个Sqoop抽数慢的问题,yarn的ATSv2嵌入式HBASE崩溃引起

新搭建的一个Hadoop环境,用Sqoop批量抽数的时候发现特别慢,我们正常情况下是一个表一分钟左右,批量抽十几个表,也就是10分钟的样子,结果发现用了2个小时: 查看yarn日志 发现有如下情况: 主要有两…

SIFT算法原理:SIFT算法详细介绍

前面我们介绍了Harris和Shi-Tomasi角点检测算法,这两种算法具有旋转不变性,但不具有尺度不变性,以下图为例,在左侧小图中可以检测到角点,但是图像被放大后,在使用同样的窗口,就检测不到角点了。…

【MYSQL】数据库那些操作

update:使用非索引字段time查询报错 解决方案:加上limit的限制,以免全表操作 例:update tableName set rt_no ‘123456’ where update_time between ‘2023-06-30 00:00:00’ and ‘2023-07-01 00:00:00’ limit 10;concat&#…

抄写Linux源码(Day6:读闪客文章第一回 “最开始的两行代码”)

按照 Day1 完成了 Linux0.11 的运行之后,可以在 ~/oslab/linux-0.11 找到 linux0.11 的源码 根据闪客的文章第一回:https://mp.weixin.qq.com/s/LIsqRX51W7d_yw-HN-s2DA Linux0.11 的启动代码程序入点在 bootsect.s 里,总共 512 个字节 这…

常见自动化测试工具集合

1、Appium -------> AppUI自动化测试 官网:http://appium.io Appium 是一个移动端自动化测试开源工具,支持iOS 和Android 平台,支持Python、Java 等语言,即同一套Java 或Python 脚本可以同时运…

IO进程线程day5(2023.8.2)

一、Xmind整理: 父进程会拷贝文件描述符表给子进程: 二、课上练习: 练习1:①从终端获取一个文件的路径以及名字。②若该文件是目录文件,则将该文件下的所有文件的属性显示到终端,类似ls -l该文件夹③若该文…

异常和中断的区别

异常和中断的区别 中断异常中断和异常的相同点中断和异常的区别 中断 中断是由硬件设备产生的,而它们从物理上说就是电信号,之后,它们通过中断控制器发送给CPU,接着CPU判断收到的中断来自于哪个硬件设备(这定义在内核…

手机屏幕视窗机器视觉定位软硬件-康耐德

【检测目的】 手机屏幕视窗视觉定位 【效果图片】 【安装示意图】 【硬件配置】

vs20222使用qt做材料库

Material.h #pragma once #include "QtWindow.h" #include "ui_Widget.h" #include <QWidget> #include <QObject> #include <QDialog>//防止中文乱码 #if _MSC_VER >= 1600 #pragma execution_character_set("utf-8")// …

【vue】vue 里面使用 v-html 插入的文本带有换行符‘\n‘不换行

最近开发vue2 项目 &#xff0c;接口返回的是类似于这样的数据&#xff1a;我是第一行的哦\n我是第二行的哦 我是直接这样渲染的&#xff0c; //html <p v-htmltext></p>//渲染值 this.text "我是第一行的哦\n我是第二行的哦"但结果却是不如意&#x…

数据之海 — 探索大数据的无尽可能

数据之海 — 探索大数据的无尽可能 &#x1f498; &#x1f498;1. 什么是大数据&#xff1f;&#x1f498; &#x1f498;2. 大数据的应用领域&#x1f496; &#x1f496;2.1 商业决策&#x1f496; &#x1f496;2.2 医疗保健&#x1f496; &#x1f496;2.3 城市规划&#…

【机器学习】处理样本不平衡的问题

文章目录 样本不均衡的概念及影响样本不均衡的解决方法样本层面欠采样 &#xff08;undersampling&#xff09;过采样数据增强 损失函数层面模型层面采样集成学习 决策及评估指标 样本不均衡的概念及影响 机器学习中&#xff0c;样本不均衡问题经常遇到&#xff0c;比如在金融…

安全文件传输:如何避免数据泄露和黑客攻击

网络安全问题日益严重&#xff0c;导致许多数据被泄露和黑客袭击的事件频发。为了保证文件传输的安全&#xff0c;需要实施一系列安全文件传输策略来防止数据被泄露和黑客袭击。 第一、选择适合的加密方法是非常关键的 加密是一种将明文转换成密文的过程&#xff0c;这样只有授…

再探python装饰器

参考视频教学&#xff1a; 可能是b站上最好的Python装饰器教程_哔哩哔哩_bilibili 【python】如何在class内部定义一个装饰器&#xff1f;这里的坑你要么不知道&#xff0c;要么不会填&#xff01;_哔哩哔哩_bilibili 推荐&#xff01;先学习第一个视频&#xff0c;再学习第…