Python入门学习(二)

news/2025/2/27 21:54:47/文章来源:https://www.cnblogs.com/tsembrace/p/18742100

第4章  Python中表示“组”的概念与定义

一、列表

"""
Python中列表是一种可以表达“组”概念的数据类型
一个列表中的元素可以是多种数据类型,甚至元素可以也为列表类型(即嵌套列表)
"""
from tokenize import groupskill = ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"]print(f"施放技能----->{skill[2]}")    #单个元素的访问
print(f"施放技能----->{skill[1:3]}")   #多个访问

skill1 = ["冰霜之寒", "冰冷血脉"]
print(skill + skill1)     #列表的相加#相加的特殊情况
lst1 = [1, 2, 3]
lst2 = [1, 3, 5]
lst3 = lst1 + lst2
print(lst3)   #列表的相加算法中相同元素并不会被合并,列表是有序的#世界杯分组列表表示示例
world_cup_group = [["巴西", "克罗地亚", "墨西哥", "喀麦隆"], ["西班牙", "荷兰", "智利", "澳大利亚"], ["阿根廷", "法国", "英格兰", "日本", "阿联酋"]]for i in range(len(world_cup_group)):print(f"第{i + 1}组队伍有:", end = "  ")for j in range(len(world_cup_group[i])):print(world_cup_group[i][j], end = "  ")print()

二、元组

"""
元组创建后是不可以被修改的,列表是可修改的
"""
t = (1, 2, "abc", False)
print(t[-1], t[-2], t[1])ta = (1, 2)
tb = (3, 5, 6)
print(ta + tb, ta * 2)
ta = (1, 2, 3, 4, 5)
print(ta)      #并不是原始的ta被修改了,原始的ta仍在原有内存里,只是把变量名指向了新内容的内存
#ta[0] = 18   #会报错,元组类型不支持修改元素值
ta = (18, 2, 3, 4, 5)  #只有新辟一块内存存储预期内容,并让原变量名指向新内存

三、序列小结

字符串、列表、元组都是序列组合,他们有共同的一些操作。

1、有序性,可以通过下标序号访问其中元素

2、同样因为有序性,也可以通过切片操作截取部分访问

3、可以进行加、乘操作

4、可以用in判断一个数据是否在此序列中

5、长度函数len()、求最大最小函数max()/min()

 

四、set集合

"""
集合set是无序的
因为非有序,无法通过序号和切片访问
但也可以有len(),in/not in 等操作
支持求交集,差集,合集等操作
"""
s1 = {1, 1, 2, 8, 9}
print(s1)   #因为是无序的,所以重复元素无意义
la = [1, 2, 3, 4, 5, 6, 7, 8, 9]
lb = [1, 3, 5, 7, 9]
sab = set(la + lb)   #用处之一可以去除相加的重复元素
print(sab)
s1 = {1, 2, 3, 4, 5, 6, 7, 8, 9}
s2 ={1, 3, 5, 7, 9, 11}
print(s1 - s2)   #求两集合差集
print(s2 - s1)
print(s1 & s2)  #求两集合交集
print(s1 | s2)  #求两集合合集/并集

五、字典

"""
字典也是一个集合类型,非序列,key:value键值对是其最基本的概念
字典中不能有重复的key值
value值是可重复的,可以是python中任意数据类型
key值必须是不可变类型的,包括数值、字符串、元组类等。
"""
dict1 = {"Q":"SKILL1", "E":"SKILL2", "W":"SKILL3", "R":"SKILL4"}
print(dict1["W"])   #通过键值访问内容
dict2 = {(1,):1, "1":  2, 1: 3}
print(dict2, dict2[(1,)])
dict0 = {}   #空字典的表示
set0 = set()
print(dict0)
print(set0)
print(type(dict0))
print(type(set0))

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Black Watch 入群题]PWN(栈迁移)

先检查一下保护,32位的分析一下代码,发现buf距离ebp为0x18(24),但是read只溢出0x20(32),也就是只溢出8个字节,刚好覆盖到ret。 第一个read读取0x200到s(.bss段)两个write会打印m1和m2,点击m1,m2查看因为溢出不够,这时候我们可以考虑栈迁移expfrom pwn import * f…

WC Java 实现

一.来源 WC Java 实现(Pramy) https://www.cnblogs.com/pramy/p/9607743.html 二.运行环境及运行结果 运行环境:Visual Studio Code 运行结果截图:* 三.主要问题 1.异常处理不够详细: 在处理文件时,如果文件不存在或无法读取,程序会抛出异常,但没有提供详细的错误信息或…

docker实现的基本原理

Docker 实现容器的基本原理依赖于 Linux 内核的三大核心机制:命名空间(Namespaces)、控制组(cgroups) 和 联合文件系统(UnionFS),也是 Docker 能够出现的最重要原因。 1. 命名空间(Namespaces) 作用:实现资源的隔离,使容器内的进程无法感知或干扰宿主机的其他进程或…

将DeepSeek接入人类大脑会怎样??

昨天在与同事聊起最近大火的DeepSeek, 突然,有一个不切实际的想法,如果DeepSeek或人工智能AI能以某种形式接入人类大脑, 比如,通过芯片不侵入式连接大脑 或者 外带什么眼镜、 隐形眼镜之类的, 能人类有DeepSeek一样的知识量以及响应速度,那得多好,整个世界、人类将会变…

gh-ost工具介绍及使用

💖简介 gh-ost 是一款由GitHub开发的在线DDL(Online Data Definition Language)变更工具,专门用于MySQL数据库。它允许在不锁定表的情况下执行数据库模式变更,从而避免了传统ALTER TABLE命令可能带来的长时间锁表问题,这对于高可用性要求严格的生产环境尤为重要。 它通过…

[算法]KD树

KD树,你看着他好几个维度不明白,但实际上非常简单 \(K\)指维度 因此他可以在二维(多维)平面内进行搜索!!! 1.二维 1.1 建树 对于每一层,我们使用轮转法进行建树 什么意思呢?比如二维,如果\(x\)层为一维(横坐标),则\((x+1)\)层为二维(纵坐标) 确定好维数,接下来…

事务的ACID原则

atomic原子性,事务包含一批读写操作要么都提交,要不都回滚,在并发状态下另一个线程看到的这个线程操作的事务一定是完整的,要不都没看见,要么都看见,不存在看见一半的情况。 consiste一致性,对数字的一组特定的约束条件必须成立,例如转账业务中的进账和出账必须能相抵。…

Python Flask Web应用的二次开发

我选择了一个简单的Python Flask Web应用,它是一个简易的任务管理系统,能实现任务的添加和查看,但存在不少可优化之处。 1.来源 这个简易的任务管理系统是某位学长的开源项目。原作者的目的是提供一个基础的任务管理功能示例,方便开发者学习Flask框架的基本使用。 2.运行环…

Vulnhub-DC-9靶机-SQL注入拿到账户+利用端口敲门连接ssh+信息泄露利用root脚本追加提权

一、环境搭建 选择扫描虚拟机选择靶机路径如果出现以下信息如下修改,修改和虚拟机一样的版本二、信息收集 扫ip nmap -sn 192.168.108.0/24得到靶机ip:192.168.108.143扫开放端口 nmap -p 1-65535 192.168.108.143只开放了两个端口信息如下 22/tcp filtered ssh #filtered是“…

SemanticKernel之使用Plugins

Plugins在SK中是一个神奇的功能。我们说大语言模型具有不确定性,我们的代码是确定性的,而Plugins有把这种不确定性转成确定性能功能。下面的例子是一个通过自然语言实现购买的案例,客户可以通过文字或语音来输入自然语言,<ItemGroup><PackageReference Include=&q…

Ubuntu22.04 LTS安装流程

1. 选择grub2. 选择语言3. 不更新安装4. 选择键盘的类型5. 选择需要安装的ubuntu版本6. 配置网络建议自动获取7. 配置代理可以直接跳过8. 配置ubuntu软件源可使用默认9. 使用默认的分区方式10. 使用默认的磁盘分配策略即可11. 设置服务器名称及用户密码12. 跳过安装ubuntu pro1…

SemanticKernel之使用结构化Prompt

体之前说过结构化Prompt,这是一个具体案例的使用,本例是把公众号上中文技术文章翻译成选择的语言。基本思路是用户输入文章的url,系统用Playwright读取html内容,然后利用SemanticKernel的OpenAIChatCompletionService功能,按照提示词翻译,最后用Playwright把结果发送到Qi…