‘==’和‘is’
== - 判断两个数据的值是否相等
is - 判断地址是否相等
python数据存储:1.给变量赋值的时候,如果数据的类型是数字或者字符串,不会直接开辟空间存数据,而是现在数字字符串对应的缓存区里面去查看是否已经存储过对应的数据,如果已经存了,直接将之前的数据对应的地址赋给变量。如果没有存储才会开辟空间存储数据。
其他类型的数据,都是直接开辟空间存储数据,然后再把地址返回。
2.容器类型中的元素,在容器中不是直接存的值,而是元素值对应的地址
一、列表相关方法
1.列表赋值
a.直接使用一个列表变量给另一个列表变量赋值,赋的是地址,赋完值之后,对其中一个列表进行增删改,会影响另一个列表
b.如果赋值的时候赋的列表的切片或者拷贝,会产生新的地址,然后使用新的地址赋值。
赋完值后,两个列表相互之间不影响
现象1:
list1 = [1,2,3]
list2 = list1
list2.append(100)
print(list1) #[1,2,3,100]
现象2:
list1 = [1,2,3]
list2 = list1[:]
list2.append(100)
print(list1) #[1,2,3]
2.列表中的方法
a.列表.count(元素) - 获取指定元素在列表中的次数
b.列表1.extend(列表) - 将序列中所有的元素都添加到列表中
c.列表.index(元素) - 获取指定元素的下标
注意(1).如果元素有多个,只取第一个元素的下标
(2).如果这个元素不存在,会报错
d.列表.reverse() - 反向列表(将列表元素倒序)
e.列表.sort() - 对列表进行升序排序(从小到大)
注意:列表的要求:
(1)列表的元素类型必须一样
(2)元素支持比较运算符
现象1:升序
num = [10,213,32,12]
num.sort()
print(num) #[10, 12, 32, 213]
现象2:降序
num = [10,213,32,12]
num.sort(reverse=True)
print(num) #[213, 32, 12, 10]
f.列表.clear() - 清空列表
g.列表.copy() - 将列表中元素直接复制一份产生一个新的列表。和列表[:]效果一样
注意:这儿的拷贝是浅拷贝
二、元祖
1.什么是元祖
元祖就是不可变的列表。(有序,不可变)
有序 - 可以通过下标获取元素
不可变 - 不支持增、删、改
2.元祖的字面量:通过小括号将多个元素括起来,多个元素之间用逗号隔开
a.只要一个元素的元祖:在元素的后面必须加一个逗号
b.直接将多个数据用逗号隔开,不用括号括起来,还是一个元祖值
c.获取元祖元素
可以通过变量个数和元祖元素个数保持一致来获取元祖中的每个元素
(通过在变量名前加,获取没有的变量获取到的元素的剩下部分。以列表形式返回)