python字符串操作

第三章:基本数据类型

社会主义新天地 提交于 2019-12-01 10:13:09
一、数字类型及操作 1、整数类型 与数学中整数的概念一致 可正可负,无取值范围限制 pow(x, y):计算x ^ y 有十进制、二进制(以0b或0B开头)、八进制(以0o或0O开头)、十六进制(以0x或0X开头) >>> pow(2,100) 1267650600228229401496703205376 >>> pow(2,pow(2,15)) 141546103104495478900155302774495160134813071147238816 2、浮点数类型: 带有小数点及小数的数字 浮点数的取值范围数量级约为 -10 307 至10 308 ,精度数量级10 -16 浮点数间运算存在不确定尾数,这不是bug 为消除不确定尾数影响,浮点数间运算与比较用round( )函数辅助 round(x, d):对x四舍五入,d是小数截取位数 浮点数可以采用科学计数法表示,使用e或E作为幂的符号:<a>e<b>表示a*10 b >>> 0.1 + 0.2 0.30000000000000004 >>> 0.1 + 0.2 == 0.3 False >>> round(0.1+0.2,1) == 0.3 True >>> 4.3e-3 0.0043 >>> 9.6E5 960000.0 3、复数类型: 与数学中复数概念一致 通过指令 z.real 获得实部,z.imag 获得虚部

python基础

我的梦境 提交于 2019-12-01 10:04:53
常见的类型 列表 list.count(data) data出现的次数 list.sort([reverse=False]) 升序排序 list.reverse() 翻转 list.index() 返回data第一次出现的索引 删除操作 del list[index] 删除指定索引的数据 list.remove[data] 删除第一个出现的指定数据 list.pop() 删除末尾数据,并 返回 list.pop(index) 删除指定索引的数据,并 返回 插入操作 list.insert(index, data) 在指定位置插入数据 list.append(data) 在末尾追加数据 list.extentd(list2) 将列表2的数据追加到列表1 更多方法 ipython3 中 输入列表数据,按下tab键,可智能提示 关键字: import keyword print(keyword.kwlist) 元祖 info.count info.index 列表元祖相互转换 list(tuple) tuple(list) 字典 dict.keys() 所有key列表 dict.values() 所有value列表 取值 dict[key] key不存在 会报错 dict.get(key) key不存在 不报错 删除 del dict[key] key不存在 会报错 dict.pop

python学习6

我是研究僧i 提交于 2019-12-01 10:04:20
python学习6 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 #声明数字,默认十进制 b = bin(a) #二进制 b = oct(a) #八进制 b = hex(a) #十六进制 二进制等转换为十进制: a = '1011011011' print(int(a,base=2)) print(int(a,base=8)) print(int(a,base=16)) 3. 数据类型分类 可变不可变: 可变:列表,字典 不可变:字符串,数字,元组 访问顺序: 直接访问:数字 顺序访问:字符串,列表,元组 映射访问:字典 存放元素个数 容器类型:列表,元组,字典 原子类型:数字,字符串 集合(set) 1. 定义方式: # define set s = {1,2,3,'alex'}s = set('alexx')   set()里面的元素必须是可迭代的数据类型,内部通过for循环建立集合 不可变集合 定义: seta = frozenset([1,2,3,4,5]) 2. 集合特性: a. 不同元素 b. 无序排列 c. 集合元素只能使用不可变的数据类型 d. 集合可迭代,即可以使用for循环遍历 3. 集合可以进行简单的去重操作,但是原本元素的排列顺序不可恢复 集合(set

[总结]字符串

时光毁灭记忆、已成空白 提交于 2019-12-01 10:02:17
字符串类型的题目一般与哈希,栈,双指针,DP紧密相关。理解了这几个知识与结构,字符串类型的题目一般也可以迎刃而解。另外,针对字符串特有的KMP算法以及Manacher算法的变形题也是常见题,需要掌握。 哈希 [leetcode]318. Maximum Product of Word Lengths 难点是怎么判断两个字符串是否不含有相同的字符。可以用一个int32位(小写字母只有26个),后26位用来表示对应的字符是否存在。最后两个int相与,如果结果为0,说明两个对应的字符串没有相同的字符。 class Solution: def maxProduct(self, words: List[str]) -> int: res = 0 d = collections.defaultdict(int) N = len(words) for i in range(N): w = words[i] for c in w: d[w] |= 1 << (ord(c) - ord('a')) for j in range(i): if not d[words[j]] & d[words[i]]: # if not set(list(words[j])) & set(list(words[i])): #Time Limit Exceeded res = max(res, len(words[j]

Python基础滚固(四)字符串常用方法再梳理

扶醉桌前 提交于 2019-12-01 09:15:55
自从人类创造文字,使用文字来记载,传达信息开始,就不停地对文字信息做 增,删,改,查,的操作。 人类创造了计算机后依然要对各种信息实行以上四种操作。 Python中字符串的对象方法可能是最多的,其中有一些经常使用的方法,现我整理如下: 改: str.center(字符串长度,“str”)--------让字符串以设定好的长度居中,左右空白自己设定字符 str.format(变量或者字符串)--------格式化(填充)原始字符串 str.lower()-------全部变小写 str.upper()-------全部变大写 str.replace("目标字符","替换后的字符",次数)--------替换字符串中的字符,可以设定替换的次数。 删: str.strip()--------删除字符串开头与结尾的空白(包含制表符\t,换行符\n) 查: str.count("str")--------统计某字符在字符串中出现的次数 str.startswith("str")--------判断是否已某个字符或者字符串开头 str.find("str")--------查询某个字符或者字符串 从左到右 看来Python在字符串中下了很大的功夫,给我们这些使用者带来很多的方便,至少比C方便多了。 来源: https://www.cnblogs.com/yydada/p/11675122

Python学习笔记之基础篇(四)列表与元祖

心不动则不痛 提交于 2019-12-01 07:11:36
列表与元祖 Why: 我们现在已经学过的数据类型有:数字,布尔值,字符串,大家都知道数字主要用于计算,bool值主要是条件判断,只有字符串可以用于数据的存储,这些数据类型够用么?对于一门语言来说,肯定是不够用的。就说字符串: 1,字符串只能存储少量的数据,对于大量的数据用字符串操作不方便也不易存储。 2,字符串存储的数据类型太单一,只能是字符串类型。 例如:‘1 True alex’ 像这样的字符串,我如果通过切片或者其他方法将1 True alex 取出来,他也只能是字符串,但是我想要得到数字的1,布尔值的True,必须还要转化,是不是很麻烦。 所以python给咱们也提供了一类数据类型,他能承载多种数据类型,这类数据类型被称作容器类数据类型可以存储大量的数据。列表就属于容器类的数据类型。 What: 这个数据类型就是list列表。 列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类 型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,

Python和Java的区别

╄→гoц情女王★ 提交于 2019-12-01 07:02:25
区别: 1.Python比Java简单,学习成本低,开发效率高 2.Java运行效率高于Python,尤其是纯Python开发的程序,效率低 3.Java相关资料多,尤其是中文资料 6.Java偏向于商业开发,Python适合于数据分析 7.Java是一种静态类型语言,Python是一种动态类型语言 8.Java中的所有变量需要先声明(类型)才能使用,Python中的变量不需要声明类型 9.Java编译以后才能运行,Python直接就可以运行; 10.JAVA 里的块用大括号对包括,Python 以冒号 + 四个空格缩进表示。 11.JAVA 的类型要声明,Python 的类型不需要。 12.JAVA 每行语句以分号结束,Python 可以不写分号。 13.实现同一功能时,JAVA 要敲的键盘次数一般要比 Python 多。 一些细节区别: 1.数 python只有四种数据:整数,长整数、浮点数和复数 java则有char,short,byte,int,long,float,double类型 2. 字符串 2.1. 字符串表示 Python中没有表示单个常量字符串类型的char类型,其可以用单引号‘ ’或双引号“ ”来表示一个字符串,也可以用三引号来表示一个多行字符串 Java中char表示单个字符,String表示一个字符串,常量字符或字符串用双引号“ ”表示 2.2.

Python基础(一)

此生再无相见时 提交于 2019-12-01 06:59:13
# python的简介:解释型语言. 弱类型语言# 首先介绍python中的数据类型# int整数类型# str字符串类型 字符串类型是永远不可变的# bool布尔类型# list类型# tuple元组类型不可变类似字符串特性# dict类型类似JS中的对象key必须是可哈希的# set类型保存大量数据不可重复的# int类型有一个api可以计算整数在内存中占用的二进制码的长度 num = 10 print(num.bit_length()) # 执行结果是4,也就是说表达是需要4位二进制运算符,1020 # 字符串类型中有两种格式化输出的方法 name = 'XiaT' age = 22 str = "名字:%s年龄:%s" %(name,age) print(str) # 这里name age就分辨替换到占位符中了,%d是数字占位符不常用 print("%s占位符如何转义%%转义" %(name)) # 这里的转义不是\而是两个%% # 在python3中格式化输出的方法 s7 = "我叫{name},我今年{age}岁,我喜欢的职业选手是{singer}".format(name = "周星" , age = "18" , singer = "UZI") print(s7) # 这种格式化输出的方式比较直观 # 字符串切片 s = "Hello Word" print(s[6

数据库中的视图

删除回忆录丶 提交于 2019-12-01 06:14:31
视图 视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,并可以将其当作表来使用。 SELECT * FROM ( SELECT nid, NAME FROM tb1 WHERE nid > 2 ) AS A WHERE A. NAME > 'alex'; 临时表搜索 1、创建视图 --格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS SELET nid, name FROM A WHERE nid > 4 View Code 2、删除视图 --格式:DROP VIEW 视图名称 DROP VIEW v1 View Code 3、修改视图 -- 格式:ALTER VIEW 视图名称 AS SQL语句 ALTER VIEW v1 AS SELET A.nid, B. NAME FROM A LEFT JOIN B ON A.id = B.nid LEFT JOIN C ON A.id = C.nid WHERE A.id > 2 AND C.nid < 5 View Code 4、使用视图 使用视图时,将其当作表进行操作即可,由于视图是虚拟表,所以无法使用其对真实表进行创建、更新和删除操作,仅能做查询用。 select * from v1 View Code

Python(二).数据类型,数据类型转换

隐身守侯 提交于 2019-12-01 05:00:36
数据类型 在python中,能够直接处理的的数据类型有以下几种:(这里似乎说法不一样,我这里仅表示自己的观点) (1).数字(Number) (2).字符串(String) (3).布尔值(Bool) (4).空值(None) (1).数字(Number) : 数字包括整数(int),浮点数(float),复数(complex)。 整数 :Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,并且因为是python3,没有了python2的长整型(long)。 所以整数没有限制大小。(受限于虚拟内存) 例如:10086,-22332233,0等都是整数。 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用 0x 前缀和0-9,a-f表示,例如:0xff00,0x67等。 >>>a=1000 >>>b=-100 >>>print(a-b)1100 浮点数 :浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的。例如,1.23x10 9 和12.3x10 8 是完全相等的。 浮点数可以用数学写法,例如:1.56,-0.32,6.66等。但对于很大的浮点数,必须用科学计数法表示,(10用e代替)。例如:1.23x10 3 =1.23e 3 ,0.000099=9.9e -5 。