IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python数据类型和常用运算符 -> 正文阅读

[Python知识库]Python数据类型和常用运算符

可变类型和不可变类型

可变类型(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]
# 查找数据在list中的下标
1、index(i)
_001 = list01.index(2)
print(_001)

# 在列表末尾追加数据
2、append(i)
string01.append(3)

# 一次追加多条数据
3、list01.extend([3,4])

# 默认弹出列表末尾的数据
# pop(i) 弹出制定的下标数据
4、pop()

# 将数据添加到制定的下标
5、insert(i,item)
list01.insert(0, 4)

# reverse方法将列表中的元素反向存放
6、reverse()

# 计数
7、count(item)
list01.count(1)

# 移除
# remore
list01.remore

Dict的常用方法

#1. clear方法清除字典中所有的项,这是一个原地操作,所以无返回值(或则说返回None)
d = {'name':"tom"}
d.clear()
print(d)                                         #the result : {}

#2. fromkeys方法使用给定的键建立新的字典,每个键都对应一个默认的值None
print({}.fromkeys(['name','age']))              #the result : {'age': None, 'name': None}

#3. get方法是个更宽松的访问字典项的方法,如果试图访问字典中不存在的项时不会报错仅会      返回:None
d = {'Tom':8777,'Jack':8888,'Fly':6666}
print(d.get('Tom'))                              #the result :     8777
print(d.get('not_exist'))                       #the result :     None

#4. for循环字典的三种方法
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)

#5. pop方法用于获得对应与给定键的值,然后将这个”键-值”对从字典中移除
d = {'Tom':8777,'Jack':8888,'Fly':6666}
v = d.pop('Tom')
print(v)                    #8777


#6. setdefault方法在某种程度上类似于get方法,能够获得与给定键相关联的值,除此之外,setdefault还能在字典中不含有给定键的情况下设定相应的键值
d = {'Tom':8777,'Jack':8888,'Fly':6666}
d.setdefault('Tom')                           #the result : 8777
print(d.setdefault('Test'))                  #the result : None
print(d)                                      #{'Fly': 6666, 'Jack': 8888, 'Tom': 8777, 'Test': None}

#7. update方法可以利用一个字典项更新另一个字典,提供的字典中的项会被添加到旧的字典中,如有相同的键则会被覆盖
d = {'Tom':8777,'Jack':8888,'Fly':6666}
a = {'Tom':110,'Test':119}
d.update(a)
print(d)                                       #the result :{'Fly': 6666, 'Test': 119, 'Jack': 8888, 'Tom': 110}

#8. 将两个列表组合成字典
keys = ['a', 'b']
values = [1, 2]
print(dict(zip(keys,values)))                                      # {'a': 1, 'b': 2}

string常用方法

#1. find方法可以在一个较长的字符串中查找子串,他返回子串所在位置的最左端索引,如果没有找到则返回-1
a = 'abcdefghijk'
print(a.find('abc'))                                  #the result : 0
print(a.find('abc',10,100))                           #the result : 11  指定查找的起始和结束查找位置

#2. join方法是非常重要的字符串方法,他是split方法的逆方法,用来连接序列中的元素,并且需要被连接的元素都必须是字符串。
a = ['1','2','3']
print('+'.join(a))                                    #the result : 1+2+3

#3. split方法,是一个非常重要的字符串,它是join的逆方法,用来将字符串分割成序列
print('1+2+3+4'.split('+'))                          #the result : ['1', '2', '3', '4']

#4. strip 方法返回去除首位空格(不包括内部)的字符串
print("   test   test    ".strip())                  #the result :“test   test”

#5. replace方法返回某字符串所有匹配项均被替换之后得到字符串
print("This is a test".replace('is','is_test'))     #the result : This_test is_test a test

Set常用方法

list_1 = [1,2,3,4,5,1,2]
#1、去重(去除list_1中重复元素1,2)
list_1 = set(list_1)                      #去重: {1, 2, 3, 4, 5}
print(list_1)
list_2 = set([4,5,6,7,8])

#2、交集(在list_1和list_2中都有的元素4,5)
print(list_1.intersection(list_2))          #交集: {4, 5}

#3、并集(在list_1和list_2中的元素全部打印出来,重复元素仅打印一次)
print(list_1.union(list_2))        #并集: {1, 2, 3, 4, 5, 6, 7, 8}

#4、差集
print(list_1.difference(list_2))   #差集:在list_1中有在list_2中没有:   {1, 2, 3}
print(list_2.difference(list_1))   #差集:在list_1中有在list_2中没有:   {8, 6, 7}

运算符

运算符解释示例
+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

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-20 15:45:02  更:2021-09-20 15:46:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:43:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码