python数据结构和字符串的相关操作

简介: 把这几天零散的笔记收集一下,内容比较重要,虽然似乎很简单,一个是字符串切片,一个是数据结构,都是比较重要的语法。主要是集中一下常用的操作,没有什么难度,对代码输出就明白了。代码中也备了注释。看代码吧!

把这几天零散的笔记收集一下,内容比较重要,虽然似乎很简单,一个是字符串切片,一个是数据结构,都是比较重要的语法。主要是集中一下常用的操作,没有什么难度,对代码输出就明白了。代码中也备了注释。看代码吧!


一:字符串以及切片相关


#py字符串操作
# 切片语法[start:end:step] step默认是1
#下表会越界,但是切片不会
Test = "python"
print(type(Test))
print('获取第一个字符%s'%Test[0])
for item in Test : 
    print(item,end=' ')
name = 'Peter'
print("姓名转换变大写%s"%name.capitalize())#首字母变大写
a = '   hello    '
b = a.strip()#去除字符串中存在地空格
c = '    hello '
d = c.lstrip() #去除左边的空格
e = 'hello   '
f =e.rstrip()#去除右边的空格
print(b)
print(d)
print(f)
#id函数,查看一个对象的内存地址
g = id(a);
g1 = id(b)
print(g,g1,end=',')
dataStr = 'i love python'
h1 = dataStr.find('p')#查找p是再字符串当中所对应的下标值(一般返回第一次出现的位置)
h2 = dataStr.find('o')
h3 = dataStr.find('m') #如果没有找到就会返回-1
print(h1)
print(h2)
print(h3)
print(dataStr.index('v'))#也是一种查找的方式,和find方式很相似
print(dataStr.index('o'))
# print(dataStr.index('m'))#index如果没有找到就会返回异常
print(dataStr.startswith('i'))#判断想要查找的字符串是否以某字符开头
print(dataStr.endswith('y'))#判断要查找的字符串是否以某字符结尾
print(dataStr.lower)#将字符串都变成小写
print(dataStr.upper)#将字符串都转换为大写
#进行切片的操作
strMsg = "hello word"
#下面进行切片,也就是取字符串当中部分数据
print(strMsg[2:5])#不包含5下标(切片,左闭右开)
print(strMsg[2:])#从第二个下标一直取到最后(从第三个字符到最后)
print(strMsg[0:3])#从第一个字符取到第三个字符
print(strMsg[::-1])#倒序输出



二:数据结构


1:列表(list)

from typing import List
listA = ["python","java","c",12,True]
print("输出完整的列表:",listA)
print("输出第一个元素:",listA[0])
print("列表切片操作",listA[2:5])
print("多次输出列表当中的数据",listA*3)
listA.append("蒋光道")#给列表追加入数据
print("追加之后的列表:",listA)
listA.insert(1,'daodaozi')#列表插入数据
print("插入数据之后的列表:",listA)
listB  =list(range(10))
print(listB)
listA.extend(listB)#扩展listA,批量添加
listA[0] = '康哥'#修改列表相应的值
print("修改之后的列表:",listA)
del listA[0] #删除列表第一个元素
print("删除第一个元素后的列表",listA)
del listA[1:3] #进行批量范围删除
print("批量删除后的列表:",listA)
listA.remove(12)#移除指定元素
print("移除指定元素后的列表",listA)
listB.pop(0)#移除第一个元素
print("移除第一个元素的列表",listB)
n = listB.index(1)#查找元素所在的索引下标
print("查找到的索引下标",n)



2:元组(tuple)


#py数据结构元组
# 特点 : 1:不可变
# 2:用小括号来创建元组类型
# 3:用,号来分割可以是任何的类型
# 4:当元组中只有一个元素时,要加入逗号,不然解释器会当作整型来进行处理
# 4:元组同样支持切片操作
tupleA = ()
print(id(tupleA))
print("查看元组类型为:",type(tupleA))#查看元组类型
tupleA = ("abcd","sdjnsd",83782,True,["jgdabc","jis"])
print("赋值后的元组为:",tupleA)
# 遍历元组
for item in tupleA : 
    print(item,end=",")
#取元组的元素
print(tupleA[0])    
#切片元组
print("切片",tupleA[2:4])
print("切片倒序输出:",tupleA[::-1])
print("切片倒序步长输出:",tupleA[::-2])#倒序输出每个两个字符取一次
print(tupleA[-2:-1:])#要考虑到左闭右开,不指定步长的话默认步长为1
print(id(tupleA) ) #打印元组的内存地址id
tupleA[4][0] = "蒋光道" #尝试对元组中的列表元素进行修改
print(tupleA)
tuple_c = tuple(range(10)) #强转
print(tuple_c)
print(tuple_c.count(1)) #统计数据项中指定元素的出现个数



3:字典(dict)


#python数据结构字典
# 字典是由键值对组成得集合,通常使用键来进行对数据得访问。
# 特点:
"""
不是序列类型,没有下标得概念,是一个无无序的键值组合
{}表示字典对象,每个键用逗号分隔
键必须是不变的类型
每个键必须是唯一,如果重复,则后者会被覆盖
"""
# 创建字典
dict_a = {}
print("dict_a数据类型为:",type(dict_a))
dict_a['name']='jgdabc'#说明可以通过键值进行追加
dict_a['post']="歌手"
# 另一个添加方式
dict_a={"pro":"艺术","school":"北京电影学院"}
print("添加数据后字典为:",dict_a)
print("数据1的长度:",len(dict_a))
# 通过键来查找值
print("通过键来查找值;",dict_a['pro'])
print("打印所有的键:",dict_a.keys())
print("打印所有的值:",dict_a.values())
print("获取所有的键和值",dict_a.items())
for key,Value in dict_a.items() :
    print(key+"=="+Value)
dict_a.update({"age":32}) #可以添加或者更新
print(dict_a)
# 删除操作
#del dict_a['age']
print(dict_a)
#另一种删除
#dict_a.pop("school")
print(dict_a)
# 排序操作
dict_a = {"蒋光道":1,"约翰":2,"詹姆森":3}
new_dict_aa = sorted(dict_a.values())#按照值牌序
print(new_dict_aa)
new_dict_bb = sorted(dict_a.items(),key=lambda d:d[1],reverse=False)
print("输出按照值排序后的字典",new_dict_bb)
print("按照值来排序,单独答应排序值:",new_dict_aa)
new_dict_a = sorted(dict_a.items(),key=lambda d:d[0],reverse=False)#按照key升序排序,ASCII码排序
print("按照key升序排序后的字典",new_dict_a)
new_dict_a_1 = sorted(dict_a)
print("单独打印出排序后的key值:",new_dict_a_1)


相关文章
|
8天前
|
数据采集 JSON 测试技术
如何在Python中高效实现CSV到JSON的数据转换
在实际项目中,数据格式转换是常见问题,尤其从CSV到JSON的转换。本文深入探讨了多种转换方法,涵盖Python基础实现、数据预处理、错误处理、性能优化及调试验证技巧。通过分块处理、并行处理等手段提升大文件转换效率,并介绍如何封装为命令行工具或Web API,实现自动化批量处理。关键点包括基础实现、数据清洗、异常捕获、性能优化和单元测试,确保转换流程稳定高效。
124 83
|
2月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
362 10
|
1天前
|
索引 Python
python字符串类型及操作
本文主要讲解字符串类型的表示、操作符、处理函数、处理方法及格式化。内容涵盖字符串的定义、表示方法(单双引号、三引号)、索引与切片、特殊字符转义、常见操作符(如+、*、in等)、处理函数(如len()、str()、chr()等)、处理方法(如.lower()、.split()等)以及格式化方式(如.format())。通过实例代码详细介绍了字符串的各种用法和技巧,帮助读者全面掌握字符串操作。
python字符串类型及操作
|
14天前
|
数据采集 数据安全/隐私保护 Python
从零开始:用Python爬取网站的汽车品牌和价格数据
在现代化办公室中,工程师小李和产品经理小张讨论如何获取懂车帝网站的汽车品牌和价格数据。小李提出使用Python编写爬虫,并通过亿牛云爬虫代理避免被封禁。代码实现包括设置代理、请求头、解析网页内容、多线程爬取等步骤,确保高效且稳定地抓取数据。小张表示理解并准备按照指导操作。
从零开始:用Python爬取网站的汽车品牌和价格数据
|
9天前
|
算法 Serverless 数据处理
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
38 12
|
1天前
|
数据采集 供应链 API
实战指南:通过1688开放平台API获取商品详情数据(附Python代码及避坑指南)
1688作为国内最大的B2B供应链平台,其API为企业提供合法合规的JSON数据源,直接获取批发价、SKU库存等核心数据。相比爬虫方案,官方API避免了反爬严格、数据缺失和法律风险等问题。企业接入1688商品API需完成资质认证、创建应用、签名机制解析及调用接口四步。应用场景包括智能采购系统、供应商评估模型和跨境选品分析。提供高频问题解决方案及安全合规实践,确保数据安全与合法使用。立即访问1688开放平台,解锁B2B数据宝藏!
|
8天前
|
数据采集 存储 前端开发
用Python抓取亚马逊动态加载数据,一文读懂
用Python抓取亚马逊动态加载数据,一文读懂
|
2月前
|
存储 缓存 监控
局域网屏幕监控系统中的Python数据结构与算法实现
局域网屏幕监控系统用于实时捕获和监控局域网内多台设备的屏幕内容。本文介绍了一种基于Python双端队列(Deque)实现的滑动窗口数据缓存机制,以处理连续的屏幕帧数据流。通过固定长度的窗口,高效增删数据,确保低延迟显示和存储。该算法适用于数据压缩、异常检测等场景,保证系统在高负载下稳定运行。 本文转载自:https://www.vipshare.com
136 66
|
1月前
|
数据采集 Web App开发 数据可视化
Python用代理IP获取抖音电商达人主播数据
在当今数字化时代,电商直播成为重要的销售模式,抖音电商汇聚了众多达人主播。了解这些主播的数据对于品牌和商家至关重要。然而,直接从平台获取数据并非易事。本文介绍如何使用Python和代理IP高效抓取抖音电商达人主播的关键数据,包括主播昵称、ID、直播间链接、观看人数、点赞数和商品列表等。通过环境准备、代码实战及数据处理与可视化,最终实现定时任务自动化抓取,为企业决策提供有力支持。
|
2月前
|
存储 运维 监控
探索局域网电脑监控软件:Python算法与数据结构的巧妙结合
在数字化时代,局域网电脑监控软件成为企业管理和IT运维的重要工具,确保数据安全和网络稳定。本文探讨其背后的关键技术——Python中的算法与数据结构,如字典用于高效存储设备信息,以及数据收集、异常检测和聚合算法提升监控效率。通过Python代码示例,展示了如何实现基本监控功能,帮助读者理解其工作原理并激发技术兴趣。
81 20

热门文章

最新文章