python3 0基础学习----数据结构(基础+练习)

这篇具有很好参考价值的文章主要介绍了python3 0基础学习----数据结构(基础+练习)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

📚 几种常见数据结构

列表 (List)

1. 定义

列表是一种有序的可变序列,可以包含不同类型的元素。列表可以通过方括号 [] 来表示,元素之间用逗号分隔

注释: 注意列表可变,字符串不可变,只能改变大小写

2. 实例:

my_list = [1, 'hello', 3.14, True]

3. 列表中常用方法

.append(要添加内容) 向列表末尾添加数据

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.extend(列表) 将可迭代对象逐个添加到列表中

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.insert(索引,插入内容) 向指定位置插入内容

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.remove(删除内容) 删除指定内容

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.pop(索引) 删除指定索引处内容并返回删除内容

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.index(要查询内容) 返回一个与制定元素匹配的索引,不改变原列表

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.count(要查询内容) 返回列表中该元素出现次数

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.sort() 同类型排序(默认升序),不同类型会报错TypeError: ‘<’ not supported between instances of ‘int’ and ‘str’

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.reverse() 反向排序,不分类型

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

元组(Tuple)

1. 定义

元组是一种有序的不可变序列,同样可以包含不同类型的元素。元组可以通过圆括号 () 来表示,元素之间用逗号分隔

2. 实例:

my_tuple = (1, 'hello', 3.14, True)

元组输出的是列表的子集

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

3. 元组中常用方法

因为元组是不可修改的所以只能查询,如果要修改得先转换成列表进行修改,之后在转换成元组

x = (1,5,'i','j')
# x.sort() #报错 AttributeError: 'tuple' object has no attribute 'sort'
print(x[1]) #输出: 5
x[1] = 6 #报错 TypeError: 'tuple' object does not support item assignment

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.index(element) 返回第一个与制定元素相等的元素的索引

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.count(要查询内容) 返回列表中该元素出现次数python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows
修改元组内容

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

字典(Dictionary)

1. 定义

字典是一种键值对的集合,键和值可以是任意的数据类型。字典可以通过花括号 {} 来表示,每个键值对使用冒号 : 分隔,键值对之间用逗号分隔。可做内容修改

a={age:10}
a['age']=18
print(a) #输出 {'age': 18}

字典里边没有顺序 ,列表有从0开始
字典是直接删除重新加入,所以没有顺序

2. 实例:

my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}

3. 字典中常用方法

in和not in方法
a={'age':10,'name':'xiaoming'}
print('name' in a)  #输出 True
print('s' not in a)  #输出 True
for 键 in 字典

可以通过dict(健)=键值

for in 和items()结合使用

for 健,键值 in 字典.items()

a = {'age':10,'name':'xiaoming'}
for (k,v) in a.items():  #()可加可不加
    print(k,v)

print(k,v) 输出:

age 10
name xiaoming
.keys() 返回一个包含字典所有的视图

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.values() 返回一个包含字典所有的视图

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

get(key, default):返回指定键的值,如果键不存在,则返回默认值(default)。

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.pop(key):移除指定键的键值对,并返回键对应的值。

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.popitem():随机移除并返回一个键值对

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.update(): 使用其他字典内容更新当前字典

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.clear():移除字典中的所有键值对。

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.items() : 用于以键-值对(key-value pairs)
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
items = my_dict.items()
print(items)

输出: dict_items([(‘name’, ‘Alice’), (‘age’, 25), (‘city’, ‘New York’)])

集合(Set)

1. 定义

集合是一种无序的不重复的元素的集合。集合可以通过花括号 {} 或 set() 函数来创建

2. 实例:

my_set = {1, 2, 3, 4, 5}

3. 集合常用方法

.add(element)向集合随机添加元素(因为无序所以随机)

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.remove(element)从集合中删除某元素,如果该集合没有该元素返回错误KeyError

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows
python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows
python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.discard(element)从集合中删除某元素,如果该集合没有该元素也不会报错

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.pop()随机移初一个元素,并返回该元素(集合是无序的,无法确定删除的元素是那个)

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.clear() 清除集合中所有元素,输出set()

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

.copy():复制一个集合

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

字符串(String)

1. 定义

字符串是一种由字符组成的不可变序列,可以用单引号或双引号括起来

2. 实例:

my_string = 'Hello, World!'

3. 集合常用方法

上篇文章有写,跳转地址python3 0基础学习----基本知识
python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

📚 常用的内置函数

1. print(): 将制定的值输出到控制台

print('hi~') #输出 hi~

2. len(sequence): 返回序列的长度(元素个数)

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

3. type(object): 返回对象的类型

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

4. input(‘请输入’) : 获取用户输入数据

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

5. range(初值, 终值, 步长)内置函数,返回的是一个可迭代对象。用于创建数字序列

for num in range(5):
    print(num)  # 输出: 0, 1, 2, 3, 4

for num in range(2, 7):
    print(num)  # 输出: 2, 3, 4, 5, 6

for num in range(1, 10, 2):
    print(num)  # 输出: 1, 3, 5, 7, 9

6. int(x)、float(x)、str(x)、bool(x) 等:将输入值转换为整数、浮点数、字符串或布尔值类型。

num1 = int("10")
num2 = float("3.14")
text = str(42)
flag = bool(1)

7. max(iterable)、min(iterable):返回可迭代对象中的最大值和最小值。

my_list = [3, 1, 5, 2, 4]
max_value = max(my_list)
min_value = min(my_list)
print(max_value) #输出 5
print(min_value) #输出 1 

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

8. sum() 返回可迭代对象的和(用于数组类型的对象)

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

9. abs(x):返回数值的绝对值。

s = abs(-10)
print(s) #输出 10

10. round(number, ndigits):将数值四舍五入到指定的小数位数

rounded_num = round(3.14159, 2)
print(rounded_num) #输出3.14

11. dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表

>>>dir()   #  获得当前模块的属性列表
['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
>>> dir([ ])    # 查看列表的方法
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>

📚 结合实战练习

1. 列表中in和not in 的使用

some = [1,2,3,4,5,6]
print(3 in some) #输出 True
print(3 not in some) #输出 False

练习2 :读取a.txt文件,对每一行使用split()方法拆分为单词列表,对每一行单词进行筛选去重复,添加到新的列表中。最后使用sort()进行排序。(大概意思是提取a.txt中出现过的单词生成一个列表)

1. a.txt文件内容(请忽略内容是什么意思,网上是那个随便找的)

Dear Sir/Madam,

I am writing this email to express my gratitude to you and to discuss
some matters. I hope this email finds you in good health and high
spirits.

Firstly, I would like to sincerely thank you for your generosity and
assistance. I have been facing some difficulties in pursuing my career
goals, and your support has been invaluable to me. Your advice and
guidance have helped me gain a better understanding of the challenges
I have faced and have motivated me to continue striving.

The purpose of this email is to request a meeting with you in order to
personally express my gratitude. I would like the opportunity to
showcase the progress I have made in my professional development and
to hear your valuable insights. If you are willing, I can arrange the
meeting according to your convenience, and the location and date can
be adjusted according to your preferences.

Furthermore, I wanted to inquire if there is anything else I can do
for you. Your generosity may have an impact not only on me personally
but also on other individuals I may be able to assist. Please let me
know if there is anything you need help with, as I would be more than
happy to offer my assistance.

Once again, thank you for your support and generosity, and I hold
great expectations for the future. I sincerely look forward to meeting
with you and expressing my gratitude in person. If you have any
questions or require further information regarding the meeting, please
feel free to contact me.

With heartfelt appreciation,

[Your Name]

2. 提取单词思路

遍历文件每行内容
拆分每行内容为单词列表
遍历当前行列表单词
查找list中是否存在当前单词,存在记录出现个数,不存在新增一条记录

3. 代码:

th = open('a.txt')
print('读取文件内容',th)
lst = list()#空列表
for item in th:
    itemStr = item.rstrip()# 去除末尾空白符号
    pList = itemStr.split()# 以空格作为分隔符分割每行数据,返回一个单词列表  ,例如首行:['Dear', 'Sir/Madam,']
    for word in pList:
         if len(lst)==0:
            lst.append(word)
            continue
         if len(lst)>0:
            if lst.count(word)>0:
                continue
            else:
                lst.append(word)


print('列表长度',len(lst))
lst.sort()
print(lst)

4. 输出结果

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

练习2 :读取一份邮件,获取到邮件中出现过的单词生成字典,并记录每个地址出现过的个数

1. a.txt内容和上一题一样

2. 思路

读取文件
声明空字典
遍历文件内容
去掉每行结尾空白符号
切割每行生成单词字典

3. 代码

th = open('a.txt')
dictStr = dict()#空字典
for item in th:
    itemStr = item.rstrip()# 去除末尾空白符号
    pDict = itemStr.split()# 以空格作为分隔符分割每行数据,返回一个单词列表  ,例如首行:['Dear', 'Sir/Madam,']
    for word in pDict:
         dictStr[word] = dictStr.get(word,0)+1 #查找。找到获取对应值+1,没找到默认为0+1
# print(dictStr.items())#items方法,返回可迭代对象的(key,value)
print(sorted([(k,v) for k,v in dictStr.items()]))

4. 运行结果

python3 0基础学习----数据结构(基础+练习),MySQL+python,学习,数据结构,windows

练习3 :在练习2中升级,输出练习2中,单词出现最多的建和键值

bigKey = None #最大键
bigValue = None  #最大键值
for k,v in dictStr.items():
    if bigKey is None or v>bigValue: # is判断是否相等,or或
        bigValue = v
        bigKey = k
print(bigKey,':',bigValue)

输出结果:to : 17文章来源地址https://www.toymoban.com/news/detail-657913.html

到了这里,关于python3 0基础学习----数据结构(基础+练习)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python基础数据结构和操作

    字符串是 Python 中最常用的数据类型。我们一般使用引号来创建字符串。创建字符串很简单,只要为变量分配一个值即可。 注意:控制台显示结果为 class \\\'str\\\' , 即数据类型为str(字符串)。 1.1 字符串特征 一对引号字符串 三引号字符串 注意:三引号形式的字符串支持换行。

    2024年01月20日
    浏览(48)
  • Python实现数据结构的基础操作

    目录 一、列表(List) 二、字典(Dictionary) 三、集合(Set) 四、链表的实现 五、队列和栈    数据结构是计算机科学中非常重要的概念,它用于存储和组织数据以便有效地进行操作。Python作为一种功能强大且易于学习的编程语言,提供了许多内置的数据结构和相关操作。在

    2024年02月11日
    浏览(34)
  • Python基础数据结构入门必读指南

    作者主页:涛哥聊Python 个人网站:涛哥聊Python 大家好,我是涛哥,今天为大家分享的是Python中常见的数据结构。 含义:数组是一种有序的数据结构,其中的元素可以按照索引来访问。数组的大小通常是固定的,一旦创建就不能更改。 基本操作: 含义:列表是Python中内置的

    2024年02月07日
    浏览(56)
  • 【Python】基础数据结构:列表——元组——字典——集合

    Python提供了多种内置的数据结构,包括列表( List )、元组( Tuple )和字典( Dictionary )。这些数据结构在Python编程中都有着广泛的应用,但它们各有特点和适用场景。 列表是一种有序的集合,可以随时添加和删除其中的元素。列表是可变的,也就是说,你可以修改列表的

    2024年02月10日
    浏览(51)
  • Python-基础篇-数据结构-列表、元组、字典、集合

    列表、元组 字典、集合 💬正如在现实世界中一样,直到我们拥有足够多的东西,才迫切需要一个储存东西的容器,这也是我坚持把数据结构放在最后面的原因一一直到你掌握足够多的技能,可以创造更多的数据,你才会重视数据结构的作用。这些储存大量数据的容器,在

    2024年01月21日
    浏览(129)
  • 【软考程序员学习笔记】——数据结构与算法基础

    目录  🍊一、数据结构概念和分类 🍊二、数组特点存储方式 🍊三、矩阵 特殊矩阵 非特殊矩阵 🍊四、栈和队列 🍊 五、二叉树的性质 🍊六、二叉树的遍历 (1)前序遍历(先根遍历,先序遍历) (2)中遍历(中根遍历) (3)后序遍历(后根遍历,后序遍历) 🍊七、二叉排序树 🍊八、

    2024年02月12日
    浏览(62)
  • JAVA基础学习笔记-day14-数据结构与集合源码2

    博文主要是自己学习JAVA基础中的笔记,供自己以后复习使用,参考的主要教程是B站的 尚硅谷宋红康2023大数据教程 君以此始,亦必以终。—左丘明《左传·宣公十二年》 7.1 List接口特点 List集合所有的元素是以一种 线性方式 进行存储的,例如,存元素的顺序是11、22、33。那

    2024年01月18日
    浏览(60)
  • 数据结构与算法基础-学习-23-图之邻接矩阵与邻接表

    目录 一、定义和术语 二、存储结构 1、邻接矩阵 1.1、邻接矩阵优点 1.2、邻接矩阵缺点 2、邻接表 3、邻接矩阵和邻接表的区别和用途 3.1、区别 3.2、用途 三、宏定义 四、结构体定义 1、邻接矩阵 2、邻接表 3、网数据类型(造测试数据) 五、函数定义 1、使用邻接矩阵创建无

    2024年02月14日
    浏览(35)
  • 【零基础】学python数据结构与算法笔记14-动态规划

    学习python数据结构与算法,学习常用的算法, b站学习链接 动态规划在基因测序、基因比对、hmm 有应用场景。 从斐波那契数列看动态规划 练习: 使用递归和非递归的方法来求解斐波那契数列。 这种非递归求斐波那契数,可以看成是一个动态规划思想,每次都会把重复子问

    2023年04月09日
    浏览(45)
  • <数据结构> 链表 - 小练习

    线性表在 ▁▁▁▁ 情况下适合采用链式存储结构。 A.线性表中数据元素的值需经常修改 B.线性表需经常插入或删除数据元素 C.线性表包含大量的数据元素 D.线性表的数据元素包含大量的数据项 链表要求内存中可用存储单元的地址 ▁▁▁▁▁ 。 A.必须是连续的 B.部分地址必

    2023年04月08日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包