【创作赢红包】python学习——【第七弹】

这篇具有很好参考价值的文章主要介绍了【创作赢红包】python学习——【第七弹】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

上一篇文章 python学习——【第六弹】中介绍了 python中的字典操作,这篇文章接着学习python中的可变序列 集合

集合

1: 集合是python语言提供的内置数据结构,具有无序性(集合中的元素无法通过索引下标访问,并且每次输出时元素的排序顺序可能都不相同。),互异性确定性

2 :与列表、字典一样都属于可变类型的序列;但集合中的元素是不能重复的,因此可以利用集合为一组数据去重。

3: 集合是没有value的字典​

创建方式

1:可以直接使用花括号创建: set_name={11,22,‘hello’,‘world’}

2:使用内置函数set() 创建(set() 函数为 Python 的内置函数,其功能是将字符串、列表、元组、range 对象等可迭代对象转换成集合。)创建方式: set_name=set(iteration)

jihe={11,22,33,44}
print(jihe,type(jihe),id(jihe))
# {33, 11, 44, 22} <class 'set'> 140157225363408

jihe2=set(('hello','world',11)) #注意是双括号
print(jihe2,type(jihe2),id(jihe2))
# {'hello', 11, 'world'} <class 'set'> 140157225362928

set1 = set("hello,world")
set2 = set([1, 2, 3, 4, 5])
set3 = set((1, 2, 3, 4, 5))
set4 = set(range(1, 9))
print(set1) #{'o', 'd', 'e', 'r', ',', 'w', 'h', 'l'}
print(set2) #{1, 2, 3, 4, 5}
print(set3) #{1, 2, 3, 4, 5}
print(set4) #{1, 2, 3, 4, 5, 6, 7, 8}

字典转set集合,需要注意的是,只取了字典的key,相当于将字典中的dict.keys()列表转成set集合。

jihe4=set({'a':2,'b':3,'c':4})
print(jihe4)
# {'c', 'a', 'b'}

空集合的创建:

如果要创建空集合,只能使用 set() 函数实现。
因为直接使用一对 {},Python 解释器会将其视为一个空字典。

s=set()
print(s,type(s),id(s))
# set() <class 'set'> 140549035954496
s1=set([])#列表
print(s1,type(s1),id(s1))
# set() <class 'set'> 140549035954736
s2=set(())#元组
print(s2,type(s2),id(s2))
# set() <class 'set'> 140549035954976
s3=set({})#字典
print(s3,type(s3),id(s3))
# t() <class 'set'> 140549035955456

访问集合中的元素

由于集合中的元素是无序的,因此无法向列表那样使用下标访问元素。Python 中,访问集合元素最常用的方法是使用循环结构,将集合中的数据逐一读取出来,或者使用 in 关键字查询集合中是否存在指定值。

sets= {11,'c',1,(1,2,3),'hello'}
for setss in sets:
    print(setss,end=' ') 
 #1 11 (1, 2, 3) c hello 

删除集合元素

使用 remove() 方法,语法格式如下:set_name.remove(element)

set1 = {11, 'hello', 1, (1, 2, 3), 'world', 'aa'}
set1.remove(11)
print(set1)
# {1, 'hello', 'world', (1, 2, 3), 'aa'}

如果删除的元素不再集合内,则会抛出 KeyError 错误

【创作赢红包】python学习——【第七弹】

也可以使用 discard() 方法,该方法和 remove() 方法的用法完全相同,唯一的区别就是,当删除集合中元素失败时,不会抛出任何错误,但会返回原集合。

【创作赢红包】python学习——【第七弹】

使用pop()函数随机移除集合中的一个元素

x = {"apple", "banana", "cherry"}
set.pop(x)
print(x)
# {'apple', 'cherry'}

删除集合

可以通过del()关键字删除整个集合对象

set1 = {11, 'hello', 1, (1, 2, 3), 'world', 'aa'}
print(set1)
del set1
print(set1)
# NameError: name 'set1' is not defined

向集合中添加元素

可使用set类型提供的 add() 方法实现,add() 方法添加的元素,只能是数字、字符串、元组等不可变类型或者布尔类型,不能添加列表、字典、集合等可变的数据,否则Python解释器会抛出TypeError错误。如果该元素已存在,则 add() 方法就不会添加元素

set2= {1, 2, 3}
print('添加元素之前集合的信息:',set2,type(set2),id(set2))
# {1, 2, 3} <class 'set'> 140033352959952
set2.add((1, 2))
print('添加元素后集合的信息:',set2,type(set2),id(set2))
# 添加元素后集合的信息: {(1, 2), 1, 2, 3} <class 'set'> 140033352959952

【创作赢红包】python学习——【第七弹】

使用update()函数向当前的集合中添加集合

x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"} 
x.update(y) 
print(x)
# {'cherry', 'runoob', 'banana', 'apple', 'google'}

集合的运算

【创作赢红包】python学习——【第七弹】

每篇一语

工欲善其事,必先利其器!

到此对于python中的序列就介绍完了,接下来还会持续更新python学习——【第N弹】

如有不足,感谢指正!文章来源地址https://www.toymoban.com/news/detail-400040.html

到了这里,关于【创作赢红包】python学习——【第七弹】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • C语言第七弹---循环语句

    ✨ 个人主页: 熬夜学编程的小林 💗 系列专栏: 【C语言详解】 【数据结构详解】 C语言提供了3种循环语句,while就是其中⼀种,接下来就介绍⼀下while语句。 while语句的语法结构和if语句非常相似。 你可以对比来看⼀下,具体写个代码吧 这就是他们的区别,while语句是可以

    2024年01月24日
    浏览(35)
  • PAT(Advanced Level)刷题指南 —— 第七弹

    排序问题,原题叙述比较清晰,按照A C M E四种排序的最高名次以及对应的排序方式输出。

    2024年02月13日
    浏览(37)
  • k8s控制器之Deployment第七弹之查看Deployment的状态

    Deployment 的生命周期中有不同状态,大致可分为三种 rogressing 正在执行滚动更新 complete fail to progress Progressing 状态 当如下任何一个任务正在执行时,kubernnete将Deployment 的状态标记为 progressing ; Deployment 创建了一个新的 ReplicaSet Deployment 正在 scale up 其最新的 ReplicaSet Deployment 正在

    2024年02月14日
    浏览(46)
  • 【创作赢红包】项目信息分析表

    项目的背景和问题 项目背景: 很多 父母 都 希望他们的孩子成为优秀的人 ,但是在实践中,他们的教育方式往往会出现一些与期望不符的情况。这可能是因为这些父母很大程度上是按照自己的父母的教育方式来教育孩子的,这导致 一些不太好的方式被沿袭和流传下来 。,举

    2023年04月15日
    浏览(35)
  • 【创作赢红包】ElasticSerach基础概念知识梳理

    目录 ES概念介绍 1、ES核心概念组成 2、ES数据类型介绍 2.1 字符串型 2.2 数值型 2.3 布尔型 boolean 2.4 二进制类型 binary 2.5 范围类型 2.6 日期型 date 2.7 复杂数据类型 3、特点 4、应用场景举例 Ela ticsearch,简称为ES, ES是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack技

    2023年04月26日
    浏览(59)
  • 【创作赢红包】Git Merge 深入解析

    目录 前言 一、Git Merge 基本概念 1.1 Git 分支 1.2 Git Merge 简介 1.3 合并冲突 二、Git Merge 实践操作 2.1 创建和切换分支 2.2 合并分支 2.3 解决合并冲突 三、Git Merge 高级技巧 3.1 合并策略 3.2 合并选项 3.3 使用 Rebase 代替 Merge 四、Git Merge 常见问题与解答 总结 Git 是一个分布式版本控制

    2024年02月03日
    浏览(30)
  • 【创作赢红包】LeetCode:232. 用栈实现队列

    🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀 算法专栏: 👉🏻123 题目描述 :请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列

    2023年04月12日
    浏览(42)
  • 【创作赢红包】网络安全——传输层安全协议(2)

    作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一. SSL握手协议 1.SSL握手协议概述 (1)第一阶段——“密钥等信息交换阶段” (2)第二阶段——“用户身份认证阶段

    2024年02月02日
    浏览(43)
  • 【创作赢红包】Java多线程:synchronized锁方法块

    synchronized同步代码块 用synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间。这种情况下可以尝试使用synchronized同步语句块来解决问题。看一下例子:     运行结果,分两部分来看: synchr

    2023年04月09日
    浏览(38)
  • 【创作赢红包】JDBC的“那些事“之数据库连接池

    Mysql版本:8.0.26 可视化客户端:sql yog 编译软件:IntelliJ IDEA 2019.2.4 x64 运行环境:win10 家庭中文版 jdk版本:1.8.0_361 Druid是阿里巴巴开源的一个高性能的JDBC连接池,它不仅提供了基本的连接池功能,还具有SQL监控,防御SQL注入攻击,数据源监控,配置灵活等优点,往往是是开发

    2023年04月09日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包