【Python21天学习挑战赛】集合 & 数据类型补充

简介: 【Python21天学习挑战赛】集合 & 数据类型补充

活动地址:CSDN21天学习挑战赛

开头一叙:

无论是以后学习需要或者是三年后的工作需要,都需要用到python的工具,也接着这次活动的机会,把python系统的学一遍。跟着大佬,让python知识从入门到精通。

集合

1 定义

集合 – set

(1)没有值的字典 无序—不支持索引

s={1,"alex",True}
print(s)
# 输出:{False, 1, 'alex'}

(2)天然去重

s={1,"alex",False,12,13,12,12,24,12}
print(s)
# 输出:{False, 1, 12, 13, 'alex', 24}
2 操作:增、删、改、查
s={1,2,3,4}
#   增:
s.add("67")
print(s)
s.update("今天")
print(s)
#   删:
print(s.pop())  #有返回值,随机删除
print(s)
s.remove(3) #指定删除元素
print(s)
# 输出:{1,2, 4}
#   改:
#   先删再加

#   查
for i in s:
    print(i)
3 集合操作:交集、并集、差集、对称差集、超集
s1={1,2,3,4,5}
s2={3,4,5,6}
#1、交集
print(s1 & s2)
# 输出:{3, 4, 5}
#2、并集
print(s1 | s2)
# 输出:{1, 2, 3, 4, 5, 6, 7}
# 3、差集
print(s1-s2)
#   输出:{1, 2}
# 4、对称差集,把相交的元素去掉
print(s1 ^ s2)
# 输出:{1, 2, 6, 7}
# 5、超集(s2属于s1)
print(s1>s2)
# 输出:True

基础数据类型的补充:

1 str(字符串)
1.1 首字母大写
name="zhang"
na=name.capitalize()   #字符串,不可变需要赋予一个新值
print(na)
1.2 每个单词首字母大写
name="hello world"
print(name.title())
#   Hello World
1.3 大小写反转
na="zhANG"
print(na.swapcase())
#   ZHang
1.4 占位居中
na="zhang"
print(na.center(20))
#          zhang
1.5 字符串查找,从左向右,只查找一个
na="alex2eee"
print(na.find("2")) #返回查找字符的位置,查找不存在返回-1
1.6 拼接
name="alex"
print("_".join(name))
#   输出:a_l_e_x
1.7 格式化
name="alex{},{},{}"
print(name.format(1,2,3))   #按照顺序位置进行填充
#   输出:alex1,2,3
name="alex{2},{0},{1}"
print(name.format("a","b","c")) #元组有序,按照索引进行填充
#   输出:alexc,a,b
2 list:
lst=[1,2,5,3,9,6]
lst1=[100,102,109,104]
2.1 列表排序
lst.sort()  #排序,默认升序
print(lst)
#  输出:[1, 2, 3, 5, 6, 9]
2.2 反转
lst.reverse()
print(lst)
#   输出:[6, 9, 3, 5, 2, 1]
2.3 降序,把上述两步合成一步
lst.sort(reverse=True)
print(lst)
# 输出:[9, 6, 5, 3, 2, 1]
2.4 两个列表相加
  • 方式一:
lst.extend(lst1)
print(lst)
  • 方式二:
print(lst+lst1)
#   输出:[1, 2, 5, 3, 9, 6, 100, 102, 109, 104]
3 tuple:
tu=("22",)   #数据类型是()中的数据本身,加个逗号就是元组
print(type(tu))
4 dict:
#批量添加键值对,“键”是可迭代对象,值会被共用,可变
dic={}
dic1=dic.fromkeys("123",[45])
print(dic1)
# 输出:{'1': [45], '2': [45], '3': [45]}
5 bool:
 False:
数字:0
字符串:""
列表:[]
元组:()
字典:{}
集合:set()
其他:None

相关文章
|
3天前
|
小程序 程序员 开发者
Python学习心得——小白的成长之路
Python学习心得——小白的成长之路
11 0
|
3天前
|
存储 程序员 Python
Python 数据类型转换详解
Python 数据类型转换详解
9 0
|
3天前
|
网络安全 Python
网安之python基础学习练习(2-3)
本篇博文是关于网络安全课程中Python编程的学习实践总结。分享关于两个练习题目及其解决方案。第一个题目要求用户输入姓名并选择一项武技,使用for循环和if判断实现。第二个题目是删除列表中特定值(如'cat')的所有元素,作者展示了两种方法,包括列表推导式和常规循环删除。接下来,文章还介绍了如何编写一个函数,随机生成一副扑克牌(除大小王),并返回一张随机抽取的牌。
|
3天前
|
存储 网络安全 索引
网安之python基础学习练习(1)
本篇博文是关于网络安全课程中Python编程学习的总结,主要内容包括:1) 常见数据类型的回顾和应用,如数字(整数、浮点数、复数)、字符串、列表、元组、集合、字典和布尔类型;2) 数据类型的实例操作,展示如何创建和使用这些类型;3) 数值类型之间的加、减、乘、除和模运算;4) 列表和元组的索引访问;5) 字典的修改,如查看键和值,以及更新值。文章强调了基础知识的重要性,并以“自满必定失败,骄傲必定后悔”作为每日一言。
|
5天前
|
机器学习/深度学习 数据挖掘 程序员
Python学习难度的具体标准
Python学习难度因个人编程背景、目标、资源和学习能力而异。对有编程经验者来说,Python的简单语法使其易上手;而对于新手,理解基础概念可能需更多时间。不同应用领域(如Web开发、数据分析)的学习曲线也不同。丰富的学习资源适应各种水平,但选择合适资源很重要。成功学习Python需要逻辑思维、问题解决能力及毅力。总的来说,Python学习难度因人而异,需结合自身条件评估。
18 0
|
5天前
|
存储 索引 Python
python数据结构知识学习
【5月更文挑战第6天】Python提供四种核心数据结构:列表(List)——可变有序集合,支持索引和切片;元组(Tuple)——不可变有序集合;字典(Dictionary)——键值对结构,通过键访问值;集合(Set)——无序不重复元素集合,支持数学运算。此外,Python允许自定义数据结构,如链表、树、图,以适应不同问题需求。
14 0
|
11天前
|
机器学习/深度学习 分布式计算 物联网
【Python机器学习专栏】联邦学习:保护隐私的机器学习新趋势
【4月更文挑战第30天】联邦学习是保障数据隐私的分布式机器学习方法,允许设备在本地训练数据并仅共享模型,保护用户隐私。其优势包括数据隐私、分布式计算和模型泛化。应用于医疗、金融和物联网等领域,未来将发展更高效的数据隐私保护、提升可解释性和可靠性的,并与其他技术融合,为机器学习带来新机遇。
|
11天前
|
机器学习/深度学习 自然语言处理 搜索推荐
【Python机器学习专栏】迁移学习在机器学习中的应用
【4月更文挑战第30天】迁移学习是利用已有知识解决新问题的机器学习方法,尤其在数据稀缺或资源有限时展现优势。本文介绍了迁移学习的基本概念,包括源域和目标域,并探讨了其在图像识别、自然语言处理和推荐系统的应用。在Python中,可使用Keras或TensorFlow实现迁移学习,如示例所示,通过预训练的VGG16模型进行图像识别。迁移学习提高了学习效率和性能,随着技术发展,其应用前景广阔。
|
11天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习中的Bagging与Boosting
【4月更文挑战第30天】本文介绍了集成学习中的两种主要策略:Bagging和Boosting。Bagging通过自助采样构建多个基学习器并以投票或平均法集成,降低模型方差,增强稳定性。在Python中可使用`BaggingClassifier`实现。而Boosting是串行学习,不断调整基学习器权重以优化拟合,适合弱学习器。Python中可利用`AdaBoostClassifier`等实现。示例代码展示了如何在实践中运用这两种方法。
|
11天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】关联规则学习:Apriori算法详解
【4月更文挑战第30天】Apriori算法是一种用于关联规则学习的经典算法,尤其适用于购物篮分析,以发现商品间的购买关联。该算法基于支持度和置信度指标,通过迭代生成频繁项集并提取满足阈值的规则。Python中可借助mlxtend库实现Apriori,例如处理购物篮数据,设置支持度和置信度阈值,找出相关规则。