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

python - 第四天

元组:

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

元组使用小括号 ( ),列表使用方括号 [ ]。

注:元组中只包含一个元素时,也需要在元素后面添加逗号 ,否则括号会被当作运算符使用:

eg:

tup1=(1,2,3,4,5);
tup2=(1);
tup3=(1,);
print(type(tup1));
print(type(tup2));
print(type(tup3));

运行结果如下:

访问元组

元组内的元素的访问和字符串,列表是一样的,下标索引从零开始,使用下标索引来访问元组中的值。

修改元组:连接,删除

元组中的元素值是不允许修改的,也不允许删除,但我们可以对元组进行连接组合,或者使用del来删除整个元组

eg:

tup1=(1,2,3,4,5);
tup2=("hello","world","hh");
tup3=tup1+tup2;#拼接
print(tup3);
print(type(tup3));
del  tup1;
print(tup1);#这里会报错。因为元组是不可变的,不能删除元素。

运行结果:

元组运算符

与字符串一样,元组之间可以使用 +、+=和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组

关于元组是不可变的。

所谓元组的不可变指的是元组所指向的内存中的内容不可变

eg:

tup1=("h","e","l","l","o");
tup1[0]="g";#这里会报错,因为元组是不可变的,不能修改元素。
print(tup1);

运行结果:

eg:

tup1=(1,2,3,4,[5,6,7]);
tup1[-1][0]=8;#这里不会报错,因为元组所指向的对象(应该是列表的地址)没有改变,改变的是列表内的对象。
#应该是元组所存储的列表的地址没有改变,然后仍是通过这个地址找到该列表,从而对列表内存储的元素地址,去找到该元素进行修改。
print(tup1);

运行结果:

我简单查了一下元组存在的意义,一来,它不可以修改,所以更加安全,可以防止意外改动;二来,它相对于列表,结构更加简单,所以可以更快的创建和访问,而且存储空间更小。

字典:

字典是另一种可变容器模型,且可存储任意类型对象

字典的每个键值 key=>value 对,用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中。(列表是中括号[ ],元组是小括号( ) )

形式如下:

d = {key1 : value1, key2 : value2, key3 : value3 }

注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字,还有个是元组

创建字典

eg:

dict1={"name":"ghh","age":99,"gender":"male"};#这种形式
print(dict1);
print(type(dict1));

运行结果:

使用大括号 { } 创建空字典:

eg:

dict1={};
print(dict1);
print(f"length:{len(dict1)}");#这里复习一下格式化字符串的用法,f-string,len()是个函数,用来查阅括号内序列的长度
print(type(dict1));

运行结果:

使用内建函数 dict() 创建字典:形式如下:

my_dict = dict(key1='value1', key2='value2')
#也可以是双引号

eg:

dict1=dict(name="guo",age=18,gender="male");#这里用dict()函数创建,注意内部和用大括号不一样
print(dict1);
print(type(dict1));

运行结果:

访问字典里的值

和访问字符串,列表,元组差不多,把方括号里面的索引值变成了键,把相应的键放入到方括号中,但注意要带引号

eg:

dict1=dict(name="guo",age=18,gender="male");
print(dict1["name"]);#访问
print(f"name:{dict1["name"]},age:{dict1["age"]}","gender:%s"%dict1["gender"]);#再复习一下原始的%s

运行结果如下:

修改字典:修改,添加,删除

修改和添加形式是一样的,又就修改,无就添加;

能删单一的元素也能清空字典,清空只需一项操作。显式删除一个字典用del命令。可以用tinydict.clear() 这个函数清空字典,tinydict是字典名(清空并没有删除字典,只是字典内元素为空)。

eg:

dict1=dict(name="guo",age=18,gender="male");
print(id(dict1["name"]));dict1["name"]="ghh";#修改:
print(dict1);
print(id(dict1["name"]));dict1["city"]="ooo";#添加,加在字典尾部
print(dict1);del dict1["age"];#删除
print(dict1);dict1.clear();#清空整个字典
print(dict1);del dict1;#删除整个字典 

运行结果如下:

修改也改变了地址。

字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次创建时如果同一个键被赋值两次,后一个值会被记住。

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

eg:

dict1={"name":"guo","age":99,"name":"ghh"};#这里用了两个name,后面的会覆盖前面的,所以最后的name是"ghh"
print(dict1["name"]);

运行结果:

http://www.dtcms.com/a/487433.html

相关文章:

  • 领取流量网站药剂学教学网站的建设
  • 端端网站开发网络广告网站怎么做
  • threejs(五)纹理贴图、顶点UV坐标
  • debug - MDK - arm-none-eabi - 将MDK工程编译过程的所有命令行参数找出来
  • 网站怎么维护百度会收录双域名的网站么
  • Oracle数据库基本命令的8个模块
  • Vue3中的计算属性和监视属性【5】
  • Docker部署WordPress及相关配置
  • 大自然的网站设计营销型企业网站源码
  • 网站如何做线上支付功能免费刷推广链接的网站
  • 使用Flask部署PyTorch模型
  • 新版视频直播点播平台EasyDSS用视频能力破局!
  • python_视频切分
  • vscode 侧边文件夹名字体大一点
  • C++ 进阶特性深度解析:从友元、内部类到编译器优化与常性应用
  • Linux 线程与页表
  • 做产地证的网站江苏和住房建设厅网站
  • 西安网站制作开发深圳专业建站多少钱
  • QT for Android 安卓开发之调用Java程序
  • 攻防世界-Web-题目名称-文件包含
  • **云迁移之旅:探索发散创新的路径**随着云计算技术的日益成熟,越来越多的企业开始
  • 实例分割演进史:从Mask R-CNN到多模态通用分割(2017-2025)
  • 西安高端网站设计公司设一个网站需要多少钱
  • 石家庄平山网站推广优化大连外贸网站制作
  • 第一次作业
  • SAR信号处理重要工具-傅里叶变换(二)
  • 平面设计网站模板浏览不良网页的危害
  • e4a做网站python app开发
  • SAP MM物料主数据维护接口分享
  • JavaScript基础提升