第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【4】

5.1.9 关于分片“拷贝”的概念补充 【真正的拷贝是切片】
代码
list1=[1,3,2,9,7,8]
list2=list1[:]
print(list2)
list3=list1
print(list3)
----------------------
[1, 3, 2, 9, 7, 8]
[1, 3, 2, 9, 7, 8]

以上代码看似一样的输出结果,事实上呢,作如下修改后
list1 = [1, 3, 2, 9, 7, 8]
list2 = list1[:]
list3=list1
#==============#
list1.sort()
print(list1)
print(list2)
print(list3)
-------------------
[1, 2, 3, 7, 8, 9]
[1, 3, 2, 9, 7, 8] #切片是另外拷贝出来的,不变
[1, 2, 3, 7, 8, 9] #Python里 变量似标签 一个数据贴了2个标签而已

图片解析:“切片”和“贴标签”的不同之处


5.2 元组:戴上了枷锁的列表
元组是列表的表亲,最大区别是:列表可以改变,而元组不可以改变,创建
元组的时候大多用小括号。
5.2.1 创建和访问一个元组
代码 访问元组和列表没什么差别
tuple1=(1,2,3,4,5,6,7,8)
print(tuple1)
print(tuple[1])
print(tuple[:5])
print(tuple[5:])
-------------------
(1, 2, 3, 4, 5, 6, 7, 8)
2
(1, 2, 3, 4, 5)
(6, 7, 8)

也可以用分片的方式来复制一个元组
tuple1=(1,2,3,4,5,6,7,8)
tuple2=tuple1[:]
print(tuple2)
-----------------------
(1, 2, 3, 4, 5, 6, 7, 8)
试图去修改tuple1的元素--------出错了
tuple1=(1,2,3,4,5,6,7,8)
tuple1[1]=100
print(tuple1)
-----------------------------
TypeError: ‘tuple‘ object does not support item assignment

开始实验:列表的标志是[],那么元组的标志是()么?不对,是逗号。证明如下
代码
temp=(1)
print(temp)
print(type(temp))
------------------------
1
<class ‘int‘>
代码
temp=1,2,3
print(temp)
print(type(temp))
-------------------------
(1, 2, 3)
<class ‘tuple‘>
发现没有?逗号才是关键,当然,如果创建一个空元组,可以用()
temp=()
print(type(temp))
-----------------------
<class ‘tuple‘>
所以,创建元组,记得做上标记,逗号 这样他们都属于元组了
temp=(1,)
temp1=1,
print(temp)
print(temp1)
----------------------
(1,)
(1,)
为了证明逗号的决定性作用,再举个例子
a=8*(8)
print(a)
b=8*(8,)
print(b)
----------------
64
(8, 8, 8, 8, 8, 8, 8, 8)
===============================未完待续 =================================

原文地址:https://www.cnblogs.com/daodantou/p/10217617.html

时间: 2024-08-30 13:57:48

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【4】的相关文章

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【6】

5.3.1 字符串的各种内置方法 表5-1很多暂时略掉!!!!!!!!! 选择几个常用的演示一下 casefold()方法,它的作用是将字符串的所有字符变为小写 代码 str1="DaoDanTou" print(str1.casefold()) ------------------------ daodantou count(sub[,start[,end]]) 作用:查指定范围内sub字符串出现次数 代码 str1="AbcABCabCabcABCabc" pr

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【1】

5.1 列表:一个"打了激素"的数组 很多编程语言里,数组是把一大堆同类型的数据挨个摆在一起,然后通过数组下标进行索引. Python没有数组,但是Python加入了更为强大的[列表].5.1.1 创建列表 例如 number=[1,2,3,4,5] 打了激素过后 例如 mix=[1,"daodantou",3.14,[1,2,3]] 鱼龙混杂的列表 也可以空列表 mix=[]5.1.2 向列表添加元素 可以是使用append()方法 [它不是BIF,是列表对象的一

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【7】

5.3.2 格式化 1.format() 代码 {0}.{1}.{2}分别是位置参数 str1="{0} love {1},yes?{2}".format("I","ME","!") print(str1) ------------------------------------------------ I love ME,yes?! 代码 a.b.c分别是关键字参数 str1="{a} love {b},yes?{

第七章 字典和集合[DDT书本学习 小甲鱼]【1】

7.1 字典 当索引不好用时a1=["我","你","她"]a2=["我很好","你很好","她很好"]print("我要说的是:",a2[a1.index("我")]) 7.1.1 创建和访问字典变成字典形式:dict1={"我":"我很好","你":"你很好",&q

第四章 了不起的分支和循环[DDT书本学习 小甲鱼]【2】

4.4 Python可以有效避免"悬挂else" Python的缩进使用强制规定使得代码必须正确对齐,else属于那个if清晰可见.4.5 条件表达式(三元操作符) 代码 if x<y: small=x else: small=y 将以上代码用三元操作符来表示 语法 a=x if 条件 else y 含义:如果条件真则a=x,如果条件假则a=y. 代码改进 small=x if x<y else y Python的代码简洁高效!!!4.6 断言 assert 是分支if的近

第七章 字典和集合[DDT书本学习 小甲鱼]【3】

4.copy() 复制字典a={1:"one",2:"two",3:"three"}b=a.copy()print(id(a))print(id(b))a[1]="four"print(a)print(b)-------------------24311023227282431102322800{1: 'four', 2: 'two', 3: 'three'}{1: 'one', 2: 'two', 3: 'three'}==

第三章 必须知道的一些基础知识[DDT书本学习 小甲鱼]【2】

3.6 条件分支========================完成第一个要求 提示作用 计算机如何比较 > < == != >= <= 操作符 开始例子源码 '''=========猜数字游戏==============''' i=7 number=input("猜猜我手中的数字是?:") n=int(number) if n==i: print("你猜对了!") else: if n>i: print("猜大了"

第六章 函数[DDT书本学习 小甲鱼]【1】

6.1Python的乐高积木 程序分解为小的组成部分.三种方法实现:函数.对象.模块6.1.1 创建和调用函数 以前接触到的BIF就是Python帮我们封装好的函数 def 德芙 关键字: 代码如下 def myFirstFunction(): print("大家好,我是新来的1") print("大家好,我是新来的2") print("大家好,我是新来的3") myFirstFunction() 重复三次,该如何做? for i in rang

第六章 函数[DDT书本学习 小甲鱼]【3】

6.5 lambda表达式 谐音:懒不嗒?lam-b-da 匿名函数 代码 def my(x): teturn 2*x+1 e=my(5) print(e) --------------------- 11 如果使用lambda语句来定义,会是这样 lambda x:2*x+1 返回的是一个函数对象 进行使用,代码如下 g=lambda x:2*x+1 print(g(5)) ------------------------ 11 ================================