Python系列之字符串和列表

            感谢点赞和关注 ,每天进步一点点!加油!

目录

一、字符串

1.1 字符串的定义与输入

1.2 字符串的拼接与格式化输出

1.3 字符串的下标

1.4 字符串的切片和倒序

1.5 字符串的常见操作

二、列表-List

2.1 列表的常见操作

2.2 列表合并和拼接

2.3 列表嵌套

三、元组-Tuple

四、字典-Dictionary


一、字符串


1.1 字符串的定义与输入


在python中,用引号引起来的都是字符串。还有input函数输入的, str()函数转换的等。

string1 = "hello"
string2 = 'hello'
string3 = """hello
python"""
string4 = '''hello
world'''
string5 = input("input anything: ")
string6 = str(18)

print(isinstance(string3, str)) # isinstance函数可以用来判断数据是否为某一个数据类型,返回值为True或False

执行结果:

1.2 字符串的拼接与格式化输出


示例:

name = "张三丰"
age = 95

# print("name,你五年后age+5岁了")	
print(name+",你五年后 " + str(age + 5) + " 岁了")

print("%s,你五年后 %d 岁了" % (name, age + 5))

执行结果:

1.3 字符串的下标


字符串,列表,元组都属于==序列==(sequence),所以都会有下标。

什么是下标(index)?

示例: 将字符串遍历打印

str1 = "kang"

# index 从 0 开始
for index, i in enumerate(str1):
    print("第 %d 个字符是 %s. " % (index, i))
print("++++++++++++++++++++")
# index 从 1
for index, i in enumerate(str1):
    print("第 %d 个字符是 %s. " % (index+1, i))
print("++++++++++++++++++++")
index = 0
for i in str1:
    print("第 %d 个字符是 %s. " % (index+1, i))
    index += 1

执行结果:

1.4 字符串的切片和倒序


示例:

str2 = "kangLH"

# 倒序 HLgnak
print(str2[::-1])
# 输出:gn
print(str2[3:1:-1])
# 输出:ang
print(str2[1:4])

执行结果:

1.5 字符串的常见操作


示例:

str1 = "hadoop kafka hive range hbase azkaban"

# 拆分 
a = str1.split(" ")
num = 0
for i in a:
    print(num, i, end="\t") # 拆分的字符串打印
    for index in i:
        print(index, end=", ") # 拆分字符串的字符打印
    num += 1
    print()


print(len(str1))		        # 调用len()函数来算长度	             (常用)
print(str1.__len__())			# 使用字符串的__len__()方法来算字符串的长度

print(str1.capitalize())		# 整个字符串的首字母大写
print(str1.title())		        # 每个单词的首字母大写
print(str1.upper())			# 全大写
print(str1.lower())	        	# 全小写
print("HAHAhehe".swapcase())	# 字符串里大小写互换

print(str1.center(50,"*"))		# 一共50个字符,字符串放中间,不够的两边补*
print(str1.ljust(50,"*"))		# 一共50个字符,字符串放左边,不够的右边补*	      
print(str1.rjust(50,"*"))		# 一共50个字符,字符串放右边,不够的左边补*

print(" haha\n".strip())		# 删除字符串左边和右边的空格或换行	(常用,处理文件的换行符很有用)
print(" haha\n".lstrip())		# 删除字符串左边的空格或换行
print(" haha\n".rstrip())		# 删除字符串右边的空格或换行

print(str1.endswith("you"))		# 判断字符串是否以you结尾	    类似于正则里的$	(常用)
print(str1.startswith("hello"))	# 判断字符串是否以hello开始	类似于正则里的^	(常用)

print(str1.count("e"))			# 统计字符串里e出现了多少次		               (常用)

print(str1.find("hive"))		# 找出nice在字符串的第1个下标,找不到会返回-1
print(str1.rfind("e"))		# 找出最后一个e字符在字符串的下标,找不到会返回-1
print(str1.index("hive"))	# 与find类似,区别是找不到会有异常(报错)		    (常用)
print(str1.rindex("e"))		# 与rfind类似,区别是找不到会有异常(报错)

print(str1.isalnum())		# 判断是否为数字字母混合(可以有大写字母,小写字母,数字任意混合)
print(str1.isalpha())		# 判断是否全为字母(分为纯大写,纯小写,大小写混合三种情况)
print(str1.isdigit())		# 判断是否为纯数字
print(str1.islower())		# 测试结果为:只要不包含大写字母就返回True
print(str1.isupper())        # 测试结果为:只要不包含小写字母就返回True
print(str1.isspace())		# 判断是否为全空格

print(str1.upper().isupper())	# 先把str1字符串全转为大写,再判断是否为全大写字母,结果为True

当然了字符串的方法很多,我们可以使用PyCharm 联想直接 寻找。


二、列表-List


序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型。

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

2.1 列表的常见操作


列表的增删改查操作,列表是可变数据类型,可以进行增,删,改操作。

示例:

str_list = ["kafka", "hadoop", "hadoop", "hive", "range", "flink", "hbase"]

print(str_list)
print("列表长度: ", len(str_list))

# 修改 原来的元素
str_list.append("azkaban")
print("追加: " + str(str_list))

# 移除
str_list.remove("hive")
print("移除: " + str(str_list))

# c插入
str_list.insert(0,"yarn")
print("插入: " + str( str_list))

# 统计次数
cnt = str_list.count("hadoop")
print("hadoop出现的次数: ", cnt)

# 统计次数
a = str_list.index("hadoop")
print("hadoop第一次出现的索引位: ", a)

执行结果:

2.2 列表合并和拼接


我们可以将两个列表拼接为一个。

示例:

list1 = ["haha", "hehe", "heihei"]
list2 = ["xixi", "hoho"]

list1.extend(list2)    		# list1 += list2也可以,类似字符串拼接
print(list1)
print("++++++++++++++++++++++++++++++++++++++++++")


list3 = list1 + list2         # 上面list1 再拼接 list2
print(list3)

执行结果:

2.3 列表嵌套


示例:

# 列表里可以嵌套列表,也可以嵌套其它数据类型
emp = [["张三丰", 18000], ["张无忌", 16000], ["南乔峰", 20000], ["慕容复", 15000]]  

# 循环打印出人名与其对应的工资
for i in emp:
    print("%s 的工资是%d." % (i[0], i[1])) 

执行结果:


三、元组-Tuple


Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。元组是只读的,不代表元组里任何数据不可变。如果元组里有列表,那么列表里是可变的。

str_tup = ("kafka", "hadoop", "hadoop", "hive", "range", "flink", "hbase")
print(str_tup)
print("列表长度: ", len(str_tup))

# 统计次数
cnt = str_tup.count("hadoop")
print("hadoop出现的次数: ", cnt)

# 统计次数
a = str_tup.index("hadoop")
print("hadoop第一次出现的索引位: ", a)

print("+++++++++++++++++++++++++++++++")
tuple1 = (1, 2, 3, 4, 5, 1, 7)

print(tuple1)
print("类型: ", type(tuple1))
print("返回元组中元素最大值: ", max(tuple1))
print("返回元组中元素最小值: ", min(tuple1))
print("打印3这个元素在元组里的下标: ", tuple1.index(3))
print("统计1这个元素在元组里共出现几次: ", tuple1.count(1))
print("返回元组中元素【2-5)", tuple1[2:5])

执行结果:


四、字典-Dictionary


字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

示例:

dict1 = {
    'stu01': "张三丰",
    'stu02': "张无忌",
    'stu03': "夫子",
    'stu04': "昊天",
}

print(type(dict1))
print(len(dict1))
print(dict1)

for i in dict1.items():
    print(i)

for i in dict1.items():
    print(i[0],  i[1])
    if i[1] == "张无忌":
        dict1[i[0]] = "郭靖"
print("张无忌改为郭靖: ", dict1)
print("查询stu03: ", dict1.get("stu03"))
dict1["stu05"] = "谢逊"
print("新增 stu05: ", dict1)

# 删
dict1.pop("stu01")
print("删除 stu01: ", dict1)

执行结果:

Python字典包含了以下内置方法:

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

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

相关文章

RocketMQ(超级无敌认真好用,万字收藏篇!!!!)

文章目录 RocketMQ1 RocketMQ简介2 Rocket安装2.1 Rocket安装(基于Linux)2.2 控制台安装 3 Rocket的使用3.1 普通消息发送3.1.1 同步消息发送3.1.2 异步消息发送3.1.3 单向消息发送 3.2 普通消息消费3.2.1 集群消费3.2.2 广播消费 3.3 收发顺序消息3.3.1 全局顺序生产消费3.2.2…

越来越多企业出现网络安全问题,是什么原因导致的?

近年来网络安全问题层出不穷,信息泄露、网络钓鱼、黑客攻击等问题频繁发生。 尽管有证据表明在一些全球知名的企业组织中存在价值数十亿美元的网络安全漏洞,但企业仍然没有认真对待网络安全。大公司在寻找各种理由来减少其网络安全预算,从而…

无魔法插件 - ChatGPT Sidebar with GPT-4

文章目录 1.介绍2.功能一览2.1 唤醒方式2.2 聊天功能2.3 快捷模板2.4 单独聊天界面2.5 ChatPDF2.6 任意位置快捷使用模板2.7 手机 APP 3.GPT-3.0 还是 GPT-3.5?4.免费 or 收费?5.安装 Sidebar 创作不易,如果本文对你有帮助,胖友记…

国考省考行测:资料分析:增量减量计算公式,百分数化分数

国考省考行测:增量减量计算公式 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申论和行测的重要知…

【FMC155】2 路14-bit、500MSPS/1GSPS/1.25GSPS 直流耦合ADC 同步采集FMC 子卡模块(AD9680)中文资料

板卡概述 FMC155 是一款基于VITA57.1 标准的,实现2 路14-bit、500MSPS/1GSPS/1.25GSPS 直流耦合ADC 同步采集FMC 子卡模块。该模块遵循VITA57.1 规范,可直接与FPGA 载卡配合使用,板卡ADC 器件采用ADI 的AD9680 芯片,该芯片具有两…

C++模板初阶

本期我们来学习C的模板,我们本期只是简单学习,为后续做铺垫,未来会深入讲解 目录 函数模板 类模板 下面我们进入正题 我们之前学习了函数重载,有函数重载我们可以完成很多事情,比如交换两个变量 void Swap(int&am…

tuple基本用法

元组简介 C11 标准新引入了一种类模板,命名为 tuple(中文可直译为元组)。tuple 最大的特点是:实例化的对象可以存储任意数量、任意类型的数据。 tuple 的应用场景很广泛,例如当需要存储多个不同类型的元素时&#xf…

高压功率放大器在木结构的螺栓连接松动检测系统中的应用

实验名称:功率放大器在面向木结构的螺栓连接松动检测系统中的应用 实验设备: 计算机、压电传感器PZT、D型数显扭矩扳手、NIELVISII+数据采集卡、ATA-2021H功率放大器等。 实验过程: 设计了一种基于压电时间反演法的木材连接螺栓松…

Menards EDI对接流程

Menards是一家美国的家居建材零售商,成立于1962年,总部位于美国威斯康星州的伊甸谷市。该公司经营各种家居建材产品,包括木材、地板、墙纸、厨房卫浴用品等,并拥有超过300家门店,分布在美国中西部和北部地区。Menards的…

Beats:如何在 Docker 容器中运行 Filebeat

今天在这篇博客中,我们将学习如何在容器环境中运行 Filebeat。 为了快速了解 Filebeat 是做什么用的: Filebeat用于转发和集中日志数据它重量轻,小型化,使用的资源更少它作为代理安装在你的服务器上它监视来自指定位置的日志文件…

[CTF/网络安全] 攻防世界 weak_auth 解题详析

[CTF/网络安全] 攻防世界 weak_auth 解题详析 弱认证弱认证绕过方法姿势Burp Suite 爆破 总结 题目描述:小宁写了一个登陆验证页面,随手就设了一个密码。 弱认证 weak_auth翻译:弱认证 这个术语通常用来描述一种较弱的安全认证方法或机制&am…

UVC调用过程部分细节分析

UVC调用过程部分细节分析 文章目录 UVC调用过程部分细节分析概括分析UVC驱动调用过程1.open:ioctl 2.VIDIOC_QUERYCAP3.VIDIOC_ENUM_FMT4.VIDIOC_G_FMT5.VIDIOC_TRY_FMT6.VIDIOC_S_FMT /7.VIDIOC_REQBUFS8.VIDIOC_QUERYBUF9.mmap10.VIDIOC_QBUF11.VIDIOC_STREAMON12.poll13.VID…

[CTF/网络安全] 攻防世界 backup 解题详析

[CTF/网络安全] 攻防世界 backup 解题详析 PHP备份文件名备份文件漏洞成因备份文件名常用后缀姿势总结 题目描述:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧! PHP备份文件名 PHP 脚本文件的备份文件名&#…

MATLAB 之 其他形式的二维图形

文章目录 一、对函数自适应采样的绘图函数二、其他坐标系下的二维曲线图1. 对数坐标函数2. 极坐标图 三、其他特殊二维图像1. 条形类图形2. 面积类图形3. 散点类图形4. 矢量类图形 二维图线除采用直角坐标系外,还可采用对数坐标或极坐标。除了绘制二维曲线外&#x…

Anaconda安装与Python环境搭建

这篇文章介绍了如何安装Anaconda,及Python环境如何配置,你是否还在为难以寻找一篇讲述全面的环境配置博客而苦恼,稍安勿躁,你找对啦,照着本篇文章做下去,你就会发现没那么难呢! Anaconda安装 …

Python系列模块之标准库OS详解

感谢点赞和关注 ,每天进步一点点!加油! 目录 ​一、模块 1.1 模块的定义 1.2 模块的分类 1.3 模块的基本导入语法 二、Python中的包 三、标准库之os模块 实战: 钉钉告警应用 一、模块 1.1 模块的定义 Python 模块(Module)&a…

目标检测数据预处理——部件截图,按一定比例进行外扩

本片是截图的篇的升级版本,简单版本的截图请参考根据目标框外扩一定比例进行截图(连带标签)。 对目标框(类别名称)进行分类,将同一类的目标框进行截图并分类保存在不同的文件夹中。 在本篇当中,…

Flink有状态计算的状态容错

状态容错 State Fault Tolerance 首先来说一说状态容错。Flink 支持有状态的计算,可以把数据流的结果一直维持在内存(或 disk)中,比如累加一个点击数,如果某一时刻计算程序挂掉了,如何保证下次重启的时候&…

一文了解customRef 自定义ref使用

概念 按照文档中的说明:customRef 可以用来创建一个自定义的 ref,并对其依赖项跟踪和更新触发进行显式控制。它需要一个工厂函数,该函数接收 track 和trigger函数作为参数,并且应该返回一个带有 get 和 set 的对象。 其实大致意思…

5.2 标准IO:文件的打开、关闭及代码实现

目录 标准IO 文件的打开 标准I/O-fopen-mode参数 ​编辑 标准I/O-fopen-示例 标准I/O-fopen-新建文件权限 标准I/O-处理错误信息 标准I/O-错误信息处理-示例1 标准I/O-错误信息处理-示例2 文件的关闭 标准IO 文件的打开 打开就是占用资源 下列函数可用于打开一个…