可变类型和不可变类型
可变类型(mutable):列表,字典
不可变类型(unmutable):数字,字符串,元组
这里的可变不可变,是指内存中的那块内容(value)是否可以被改变。如果是不可变类型,在对对象本身操作的时候,必须在内存中新申请一块区域(因为老区域#不可变#)。如果是可变类型,对对象操作的时候,不需要再在其他地方申请内存,只需要在此对象后面连续申请(+/-)即可,也就是它的address会保持不变,但区域会变长或者变短。
copy.copy() 浅拷贝
copy.deepcopy() 深拷贝
浅拷贝是新创建了一个跟原对象一样的类型,但是其内容是对原对象元素的引用。这个拷贝的对象本身是新的,但内容不是。拷贝序列类型对象(列表\元组)时,默认是浅拷贝。
列表和字典的区别
列表是序列,可以理解为数据结构中的数组,字典可以理解为数据结构中的hashmap
他俩都可以作为集合来存储数据
从差异特征上来说
list是有序的,dict是无需的
list通过索引访问,dict使用key访问
list随着数量的正常增长要想查找元素的时间复杂度为O(n), dict不随数量而增长而变化,时间负责都为O(1)
dict的占用内存稍比list大,会在1.5倍左右
特征决定用途:
list一般可作为队列、堆栈使用,而dict一般作为聚合统计或者快速使用特征访问等
List的常用方法
list01 = [1,2]
1、index(i)
_001 = list01.index(2)
print(_001)
2、append(i)
string01.append(3)
3、list01.extend([3,4])
4、pop()
5、insert(i,item)
list01.insert(0, 4)
6、reverse()
7、count(item)
list01.count(1)
list01.remore
Dict的常用方法
d = {'name':"tom"}
d.clear()
print(d)
print({}.fromkeys(['name','age']))
d = {'Tom':8777,'Jack':8888,'Fly':6666}
print(d.get('Tom'))
print(d.get('not_exist'))
d = {'Tom':8777,'Jack':8888,'Fly':6666}
for k,v in d.items():
print(k,v)
for k in d.values():
print(k)
for k in d.keys():
print(k)
d = {'Tom':8777,'Jack':8888,'Fly':6666}
v = d.pop('Tom')
print(v)
d = {'Tom':8777,'Jack':8888,'Fly':6666}
d.setdefault('Tom')
print(d.setdefault('Test'))
print(d)
d = {'Tom':8777,'Jack':8888,'Fly':6666}
a = {'Tom':110,'Test':119}
d.update(a)
print(d)
keys = ['a', 'b']
values = [1, 2]
print(dict(zip(keys,values)))
string常用方法
a = 'abcdefghijk'
print(a.find('abc'))
print(a.find('abc',10,100))
a = ['1','2','3']
print('+'.join(a))
print('1+2+3+4'.split('+'))
print(" test test ".strip())
print("This is a test".replace('is','is_test'))
Set常用方法
list_1 = [1,2,3,4,5,1,2]
list_1 = set(list_1)
print(list_1)
list_2 = set([4,5,6,7,8])
print(list_1.intersection(list_2))
print(list_1.union(list_2))
print(list_1.difference(list_2))
print(list_2.difference(list_1))
运算符
运算符 | 解释 | 示例 |
---|
+ | 加 | a,b=10,10 a+b=2 | - | 减 | a,b=10,10 a-b=0 | * | 乘 | a,b=10,a*b=100 | / | 除 | a,b=10,10 a/b=0 | // | 取整 | a,b=10,6 a//b=1 | % | 取余 | a,b=10,6 a//b=4 | ** | 幂 | a,b=10,3 a**b=1000 |
|