python字符串比较

30秒内便能学会的30个超实用Python代码片段

夙愿已清 提交于 2019-12-01 04:47:36
许多人在数据科学、机器学习、web开发、脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言。 Python流行的部分原因在于简单易学。 本文将简要介绍30个简短的、且能在30秒内掌握的代码片段。 1. 唯一性 以下方法可以检查给定列表是否有重复的地方,可用set()的属性将其从列表中删除。 def all_unique(lst): return len(lst) == len(set(lst)) x = [1,1,2,2,3,2,3,4,5,6] y = [1,2,3,4,5] all_unique(x) # False all_unique(y) # True 2. 变位词(相同字母异序词) 此方法可用于检查两个字符串是否为变位词。 from collections import Counter def anagram(first, second): return Counter(first) == Counter(second) anagram("abcd3", "3acdb") # True 3. 内存 此代码段可用于检查对象的内存使用情况。 import sys variable = 30 print(sys.getsizeof(variable)) # 24 4. 字节大小 此方法可输出字符串的字节大小。 def byte_size(string):

python2 与 python3的区别

旧城冷巷雨未停 提交于 2019-12-01 02:43:11
几乎所有的python2程序都需要一些修改才能正常的运行在python3的环境下。为了简化这个转换过程,Python3自带了一个2to3的实用脚本.这个脚本会将python2程序源文件作为输入,然后自动转换到python3.但并不是所有内容都可以自动转换。 print语句 python2中print是一个语句,不论想输出什么,直接放到print关键字后面即可。python3里,print()是一个函数,像其他函数一样,print()需要你将要输出的东西作为参数传给它。 python2 python3 备注 print print() 输出一个空白行,python3需要调用不带参数的print() print 1 print(1) 输出一个值,将值传入print()函数 print 1, 2 print(1,2) 输出使用空格分割的两个值,使用两个参数调用print() print 1, 2, print(1,2, end=' ') python2 中如果使用一个,作为print结尾,将会用空格分割输出的结果,然后在输出一个尾随的空格,而不输回车。python3里,把end=' ' 作为一个关键字传给print()可以实现同样的效果,end默认值为'\n',所以通过重新指定end参数的值,可以取消在末尾输出回车符号 print >> sys.stderr, 1, 2, 3 print

测试

こ雲淡風輕ζ 提交于 2019-11-30 21:09:10
1 可以吗 一 Python基础 1、入门 1.为什么学习 Python? 2.通过什么途径学习的 Python? 3 公司线上和开发环境使用的什么系统? 4 Python 和 Java、PHP、C、C#、C++等其他语言的对比? 1.C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言。C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。 C语言的优点:简洁紧凑、灵活方便;运算符丰富;数据类型丰富;表达方式灵活实用;允许直接访问物理地址,对硬件进行操作;生成目标代码质量高,程序执行效率高;可移植性好;表达力强; C语言的缺点:C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。 C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等

re模块

六月ゝ 毕业季﹏ 提交于 2019-11-30 16:31:28
目录 正则表达式: 匹配过程: 贪婪模式及非贪婪模式: 反斜杠困扰: re模块中的功能函数: re.match(pattern, string[, flags]): re.search(pattern, string[, flags])函数 re.findall(pattern, string[, flags])函数(常用) e.split(pattern, string[, maxsplit])函数 re.sub(pattern, repl, string[, count])函数 re.subn(pattern, repl, string,[, count][, flags])函数 分组函数: 注意事项: 正则表达式: --字符串匹配,进行字符串处理 匹配过程: 依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败 一, 贪婪模式及非贪婪模式: --匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符 反斜杠困扰: 需要匹配文本中的字符 \ ,那么使用编程语言表示的正则表达式里将需要4个反斜杠 \\\\ :前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠 ()元字符 (分组) 也就是分组匹配,()里面的为一个组也可以理解成一个整体 如果()后面跟的是特殊元字符如 (abc

python 字典

纵饮孤独 提交于 2019-11-30 14:44:45
dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list: names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75, 85]给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长。 如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下: >>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d['Michael'] 95 注意符号: list=[ ] dict={ } 为什么dict查找速度这么快? 因为dict的实现原理和查字典是一样的。 假设字典包含了1万个汉字,我们要查某一个字, 一个办法是把字典从第一页往后翻,直到找到我们想要的字为止,这种方法就是在list中查找元素的方法,list越大,查找越慢。 第二种方法是先在字典的索引表里(比如部首表)查这个字对应的页码,然后直接翻到该页,找到这个字。无论找哪个字

常用模块【四】正则表达式

走远了吗. 提交于 2019-11-30 13:35:25
一 正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容就易如反掌了。 正则表达式的大致匹配过程是: 1.依次拿出表达式和文本中的字符比较, 2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。 3.如果表达式中有量词或边界,这个过程会稍微有一些不同。 符号 说明 实例 . 表示任意字符,如果说指定了 DOTALL 的标识,就表示包括新行在内的所有字符。 'abc' >>>'a.c' >>>结果为:'abc' ^ 表示字符串开头。 'abc' >>>'^abc' >>>结果为:'abc' $ 表示字符串结尾。 'abc' >>>'abc$' >>>结果为:'abc' *, +, ? '*'表示匹配前一个字符重复 0 次到无限次,'+'表示匹配前一个字符重复 1次到无限次,'?'表示匹配前一个字符重复 0 次到1次 'abcccd' >>>'abc*' >>>结果为:'abccc' 'abcccd' >>>'abc+' >>>结果为:'abccc' 'abcccd' >

七. 基础数据类型补充内容

你离开我真会死。 提交于 2019-11-30 11:30:47
一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住。 #captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='taibai say hi' print(msg.title()) #每个单词的首字母大写 # 内同居中,总长度,空白处填充 ret2 = a1.center(20,"*") print(ret2) #寻找字符串中的元素是否存在 # ret6 = a4.find("fjdk",1,6) # print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 # ret61 = a4.index("fjdk",4,6) # print(ret61) # 返回的找到的元素的索引,找不到报错。 1.2 元组 python中元组有一个特性,元组中如果只含有一个元素且没有逗号,则该元组不是元组,与改元素数据类型一致,如果有逗号,那么它是元组。 tu = (1) print(tu,type(tu)) # 1 <class 'int'> tu1 = ('alex') print(tu1,type(tu1)) # 'alex'

python小数据池,代码块的最详细、深入剖析

旧巷老猫 提交于 2019-11-30 11:30:34
一,id,is,==   在Python中,id是什么?id是内存地址,那就有人问了,什么是内存地址呢? 你只要创建一个数据(对象)那么都会在内存中开辟一个空间,将这个数据临时加在到内存中,那么这个空间是有一个唯一标识的,就好比是身份证号,标识这个空间的叫做内存地址,也就是这个数据(对象)的id,那么你可以利用id()去获取这个数据的内存地址: name = '太白' print(id(name)) # 1585831283968 那么 is 是什么? == 又是什么? == 是比较的两边的数值是否相等,而 is 是比较的两边的内存地址是否相等。 如果内存地址相等,那么这两边其实是指向同一个内存地址。 可以说如果内存地址相同,那么值肯定相同,但是如果值相同,内存地址不一定相同。 二,代码块。 根据官网提示我们可以获知: 根据提示我们从官方文档找到了这样的说法: A Python program is constructed from code blocks. A block is a piece of Python program text that is executed as a unit. The following are blocks: a module, a function body, and a class definition. Each command

四.python基础数据类型

寵の児 提交于 2019-11-30 08:48:32
一.什么是数据类型? 什么是数据类型?   我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,如下:  整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int。数字:主要用于运算。1 ,2,3... bool。判断真假:True, False. str。简单少量的储存数据,并进行相应的操作。name = 'alex', tuple。只读,不能更改。(1,'alex') list:大量有序数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}] dict:大量数据,且是关联性比较强的数据 {'name':'jinxin','age':18,'name_list':['张三','李四']} 二.基础数据类型。 2.1数字int。 nt,就是咱们常见的数据类型,主要是用于葛总运算,加减乘数等这里就不给你举例说明了。

Python系列(二)python变量赋值与运算符

≯℡__Kan透↙ 提交于 2019-11-30 05:54:31
本博文阅读目录: 1、什么是变量? 2、命名规则 3、变量赋值在内存中的原理 4、输入与输出[input raw_input,print] 5、常量 6、常用数据类型[整数,浮点数,布尔值,空值] 7、字符串与字符串格式化[%s,%d,%f,%x ] 8、编码 [ASCII,unicode,UTF-8] 9、注释 [#,’’’] 10、python算术运算符 [+,-,*,/,//,%,**] 11、python比较运算符 [==,!=,<>,>,<,>=,<=] 12、python赋值运算符 [=,+=,-+,*=,/=,%=,**=,//=] 13、python位运算符 [&,|,^,>>,<<] 14、python逻辑运算符 [or,and,not] 15、python成员运算符 [in,not in] 16、python身份运算符 [is,is not] 17、python运算符优先级 正文部分 一、变量赋值 1、什么是变量? 变量就是存储了一个值(就是与变量相关联的信息),代表或引用某个值的一个命名。通常使用“变量=值”的方式给变量赋值。 2、命名规则 变量名只能包括字母、数字和下划线。 变量名可以使用字母或者下划线开头,但不能以数字开头。 变量名不能包含空格,但可以使用下划线来分隔其中的单词。 不能使用关键字作为变量名(即用上面的查询方法可以查询到 哪个是关键字