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

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}

http://www.xdnf.cn/news/14284.html

相关文章:

  • 从 PPO、DPO 到 GRPO:大语言模型策略优化算法解析
  • HarmonyOS 布局优化
  • 【Zephyr 系列 24】设备日志、事件与远程调试机制设计:为每一块硬件留痕,助力稳定性分析
  • Cursor ReAct Agent技术架构
  • Python爬虫实战:研究RQ库相关技术
  • Modbus原理一文通:从基础到实现的全面解析
  • Python全栈开发:前后端分离项目架构详解
  • Nginx+keepalived主从,双主架构
  • Java大模型开发入门 (10/15):连接外部世界(下) - 端到端构建完整的RAG问答系统
  • 拓展:###单向循环链表###
  • 【MFC】编辑框、下拉框、列表控件
  • JavaScript基础-常用的鼠标事件
  • Bambu Studio 中的“回抽“与“装填回抽“的区别
  • Spark RDD 及性能调优
  • 案例:塔能科技智启某市光域,勾勒城市照明宏图
  • IEEE 802.16e 标准下的LDPC 码
  • 【知识图谱构建系列3】zero-shot的理念介绍
  • Vite 预构建机制深度解析(Vite缺点之一)
  • 深度理解 CLIP:连接图像与语言的桥梁
  • 从零开始的Conda环境配置
  • Java大模型开发入门 (11/15):让AI自主行动 - 初探LangChain4j中的智能体(Agents)
  • 【文献阅读】5%>100%: 打破视觉识别任务的完全微调的性能束缚
  • 20 - PPM模块
  • BKA-CNN-LSTM、CNN-LSTM、LSTM三模型光伏功率预测对比!(Matlab完整源码和数据)
  • 在docker中部署dify
  • 鸿蒙NEXT-HMRouter,在使用router后无法跳转问题解决
  • 人口贩卖暑期威胁消解:算法协同提升安全预警
  • SLAM文献之-LOAM: Lidar Odometry and Mapping in Real-time
  • 【一】零基础--分层强化学习概览
  • C# WinForms 实现打印监听组件