当前位置: 首页 > news >正文

Python3 学习(菜鸟)-02基本数据类型

1.多变量赋值

多变量被赋予相同的数值

多变量被赋予不同的数值

2.数值运算

除法 /:返回一个浮点数

除法 //:返回一个整数

3.列表

加号和星号

加号 + 是列表连接运算符 

星号 * 是重复操作

list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]  # 定义一个列表
tinylist = [123, 'runoob']
print (tinylist * 2)    # 打印tinylist列表两次
print (list + tinylist)  # 打印两个列表拼接在一起的结果
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']

列表切片的三个参数

列表推导式

[表达式 for 变量 in 列表] 或 [表达式 for 变量 in 列表 if 条件]
names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
new_names = [name.upper()for name in names if len(name)>3]
print(new_names)

['ALICE', 'JERRY', 'WENDY', 'SMITH'] 

4.元组

加号和星号

元组(tuple)与列表类似,不同之处在于元组的元素不能修改

构造0个元素和一个元素

tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号

 5.set集合

用于存储唯一的元素

使用大括号 {} 表示,元素之间用逗号 , 分隔

创建一个空集合 —— set()

集合的运算 —— 交集:&

a = {0, 1, 2, 3, 4}
b = {0, 2, 6}intersection = a & b
print(intersection) # 输出:{0, 2}

法二:intersection() 方法获取交集

# 定义两个集合
a = {0, 1, 2, 3, 4}
b = {0, 2, 6}intersection = a.intersection(b)
print(intersection) # 输出:{0, 2}

注意:

在使用集合进行交集操作时,需要确保操作的对象是集合类型

如果是列表(list)或其他可迭代对象,需要先将其转换为集合类型。

a = [0, 1, 2, 3, 4]
b = [0, 2, 6]# 将列表转换为集合,并获取交集
intersection = set(a).intersection(set(b))
print(intersection) # 输出:{0, 2}

集合的运算 —— 并集:|

a = [0,1,2,3,4]
b = [0,2,6]
list(set(a) | set(b))   #输出:[0, 1, 2, 3, 4, 6]

集合的运算 —— 差集(补集):-

前有后无

a = [0,1,2,3,4]
b = [0,2,6]
list(set(b) - set(a))   #求b中有而a中没有的元素,输出:[6]
list(set(a) - set(b))   #求a中有而b中没有的元素,输出:[1, 3, 4]

集合的运算 —— 不同时存在的元素:^

a = [0,1,2,3,4]
b = [0,2,6]
list(set(a) ^ set(b))   # 使用  "^"  运算求a与b的对称差集,输出:[1, 3, 4, 6]

集合推导式

{ 表达式 for 变量 in 集合 }
setnew = {i**2 for i in (1,2,3)}
setnew

{1, 4, 9} 

6.字典

字典推导式

{ key_expr: value_expr for value in 集合 } 或 { key_expr: value_expr for value in 集合 if 条件 }
listdemo = ['Google','Runoob', 'Taobao']
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
newdict = {key:len(key) for key in listdemo}
newdict

{'Google': 6, 'Runoob': 6, 'Taobao': 6}

相关文章:

  • 基于Python学习《Head First设计模式》第十一章 代理模式
  • 使用Cursor + Devbox + Uniapp 一站式AI编程开发移动端(App、H5、小程序)
  • 分布式定时任务系列12:XXL-job的任务触发为什么是死循环?
  • 动态组件(component)的高级使用
  • 软件测试之简单基础的安全测试方法(另外包含软测面试题库)
  • 【Flutter】程序报错导致的灰屏总结
  • LangChain自动化工作流实战教程:从任务编排到智能决策
  • 计算机网络学习笔记:运输层概述UDP、TCP对比
  • IDEA高效快捷键指南
  • 刚学到一个使用共享软件而禁用弹窗的工具:微软电脑管家
  • 精益数据分析(104/126):免费移动应用的用户活跃率与付费转化优化策略
  • 项目拓展-Jol分析本地对象or缓存的内存占用
  • OCCT基础类库介绍:Modeling Data - 2D Geometry 3D Geometry Topology
  • ImportError: DLL load failed while importing win32api: 找不到指定的模块
  • 5G核心网Non-IP数据报文转发机制:Unstructured会话与协议栈解析
  • 每天一个前端小知识 Day 1
  • 【一】零基础--分层强化学习概览
  • Android音视频流媒体基础总结
  • nacos-作为注册中心与springcloud整合(三)
  • 【项目实训#09】智能代码文件助手模式前后端设计与实现
  • 个人网站注册平台钱/磁力猫引擎入口
  • 手机社交网站建设/百度风云榜游戏排行榜
  • 做qq群头像网站/百度搜索历史记录
  • 网站建设销售兼职合同/创意营销新点子
  • 教育网站建设策划书/网站关键词优化
  • 石家庄网站建设远策科技/信息流广告是什么