python字符串操作

Python JSON的简单使用

烂漫一生 提交于 2019-11-28 03:28:53
1 json简介 1.1 json是什么? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。 “在JSON出现之前,大家一直用XML来传递数据。因为XML是一种纯文本格式,所以它适合在网络上交换数据。XML本身不算复杂,但是,加上DTD、XSD、XPath、XSLT等一大堆复杂的规范以后,任何正常的软件开发人员碰到XML都会感觉头大了,最后大家发现,即使你努力钻研几个月,也未必搞得清楚XML的规范。 终于,在2002年的一天,道格拉斯·克罗克福特(Douglas Crockford)同学为了拯救深陷水深火热同时又被某几个巨型软件企业长期愚弄的软件工程师,发明了JSON这种超轻量级的数据交换格式。” 1.2 json特点 json格式适合阅读,容易理解,对计算机来说处理起来也很方便。json文本格式与C家族语言(C,C++,C#,Java,JavaScript,Perl,Python以及许多其他语言)的传统变量非常的相似,它的文本语言建立在以下两种结构上: l “名称/值”对的无序集合(以下简称键值对),在其他编程语言中,这种“名称/值”对可能称为对象、记录、结构、字典、哈希表、键表或者关联数组。 l “值”的有序列表,对应其他语言中的数组,向量,链表或者序列。 上面这些基本的数据结构,几乎所有现代语言都能支持其中一种或多种

Python 最常见的 170 道面试题解析:2019 最新

删除回忆录丶 提交于 2019-11-28 01:07:22
Python 今年还是很火,不仅是编程语言排行榜前二,更成为互联网公司最火热的招聘职位之一。伴随而来的则是面试题目越来越全面和深入化。有的时候不是你不会,而是触及到你的工作边缘,并没有更多的使用,可是面试却需要了解。 所以我结合自己的面试经历以及各大厂的面试题库,准备了 170 道 2019 年最新的 Python 面试题解析,很多老旧的问题已经帮你剔除,直接看这份最新的即可。让你最短时间内掌握核心知识点,更高效的搞定 Python 面试! 点击查看全部答案:https://gitchat.csdn.net/activity/5cf8ca61da0c2c41ee4697ff?utm_source=blog0715 语言特性 1.谈谈对 Python 和其他语言的区别 2.简述解释型和编译型编程语言 3.Python 的解释器种类以及相关特点? 4.说说你知道的Python3 和 Python2 之间的区别? 5.Python3 和 Python2 中 int 和 long 区别? 6.xrange 和 range 的区别? 编码规范 7.什么是 PEP8? 8.了解 Python 之禅么? 9.了解 docstring 么? 10.了解类型注解么? 11.例举你知道 Python 对象的命名规范,例如方法或者类等 12.Python 中的注释有几种? 13

917,仅仅反转字母(简单)

本小妞迷上赌 提交于 2019-11-28 01:06:05
给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1: 输入:"ab-cd" 输出:"dc-ba" 示例 2: 输入:"a-bC-dEf-ghIj" 输出:"j-Ih-gfE-dCba" 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-only-letters 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 普通方法: 由题意得知这是一个操作字符串的题目。   关于字符串,python有python自己的方法,如判断是否为字母的isalpha(),而排除语言,其他语言可以通过ASCLL码的次序,A-Z是65-90,a-z是97-122。   那么回归本题,不考虑空间复杂度,最简单的方法就是   1,另起一个字符串,   2,for循环字符串,将字符串中字母添加到新字符串中。   3,将新字符串反转,替换原来的字符串中字母部分,长度应该是一样的。 代码如下: class Solution: def reverseOnlyLetters(self, S): str1 = '' for i in S: if i.isalpha(): str1 += i str1 = str1[::-1] str2 = '' count = 0

day19

南楼画角 提交于 2019-11-28 01:05:22
一、re模块 正则表达式本身是一种小型的、高度专业化的编程语言,它并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。而在python中,通过内嵌集成re模块,程序员们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。 正则表达式是用来匹配处理字符串的 python 中使用正则表达式需要引入re模块 import re # 第一步,要引入re模块 a = re.findall("匹配规则", "这个字符串是否有匹配规则的字符") # 第二步,调用模块函数 print(a) # 以列表形式返回匹配到的字符串 ['匹配规则'] ^元字符 字符串开始位置与匹配规则符合就匹配,否则不匹配 匹配字符串开头。在多行模式中匹配每一行的开头(Python3+已经失效,配合compile使用) ^元字符如果写到[]字符集里就是反取 import re a = re.findall("^匹配规则",

Python变量类型

ぐ巨炮叔叔 提交于 2019-11-28 00:54:43
变量存储在内存中的值,这就意味着在创建变量时会在内存开辟一个空间。 基于变量的数据类型,解析器会分配指定内存,并决定什么数据可以被存储在内存中。 因此变量可以指定不同的数据类型,这些变量可以存储整数、小数、或字符。 变量赋值 Python中的变量赋值不需要类型声明。 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。 每个变量在使用前都必须赋值,变量复制后该变量才会被创建 等号 = 用来给变量赋值 等号运算符佐伯按是一个变量名,右边是存储在变量中的值 /*** var.py ***/ count = 100 miles = 1000.3 name = "john" print count print miles print name 运行结果: robot@ubuntu:~/wangqinghe/python/20190820$ python var.py 100 1000.3 john 多个变量赋值 Python允许你同时为多个变量赋值 a = b = c = 1 以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存上。 你也可以为多个对象指定多个变量 a,b,c = 1,2,”John” 以上实例,两个整型对象1和2分别分配给变量a和b,字符串“John“分配给变量c 标准数据类型 在内存中存储的数据可以有多种类型。 Python定了一些标准类型

Python复习总结(1)

坚强是说给别人听的谎言 提交于 2019-11-28 00:17:58
Shypython-learn-notes 1. python 数据类型 1.1 变量 1.1.1 算术运算符 - 加减乘除 + 、 - 、 * 、 / - 取余、取整、取绝对值 % 、 // 、 abs ( ) - 最小、最大值 min ( ) 、 max ( ) - 复数 complex ( re , im ) - 取共轭 c . conjugate ( ) - 返回商和余数 divmod ( x , y ) 1.1.2 布尔运算符 - 小于、大于 < 、 > - 等于、不等于 == 、 != - 与、或、非 and 、 or 、 not 1.1.3 赋值运算符 - a = a + b is a += b - a = a - b is a -= b - a = a * / b is a * / b - a = a ** ( // ) b is a ** ( // ) = b 1.1.4 位运算符 - 与或 & 、 | - 异或、取反 ^ 、 ~ - 左位移、右位移 << 、 >> 1.1.5 转义符 - 续行符 \ - 反斜杠符号 \\ - 引号 \' - 响铃 \a - 退格 \b - 转义 \e - 空 \ 000 - 换行 \n - 纵向制表符 \v - 横向制表符 \t - 回车 \r - 换页 \f - 八进制 \oyy - 十六进制 \xyy 1.2 字符串

leetcode刷题:1-20

走远了吗. 提交于 2019-11-27 22:03:04
文章目录 1 Two Sum 2 Add Two Numbers 3 Longest Substring Without Repeating Characters 4 寻找两个有序数组的中位数 5 Longest Palindromic Substring 6 ZigZag Conversion 7 Reverse Integer 将给定的数字倒序输出. 8 String to Integer(atoi) 9 Palindrome Number 10 正则表达式匹配 11.求其中两条直线与x轴围成的容器的最大容量. 12.Integer to Roman 13.Roman to Integer 14.Longest Common Prefix 15.3Sum 16.3Sum Closest 17 电话号码的字母组合 18.4Sum 找出list中所有相加等于target的4个数的list. 19 删除链表的倒数第N个节点 20 有效的括号 leetcode刷题:1-20 1 Two Sum 在列表中找到两个数,使得它们的和等于某一给定值,返回这两个数的位置.时间复杂度:O(n),python中的字典其实就是哈希表的应用,所以我们通过字典用哈希表来降低查找的时间复杂度 def twoSum(self, nums, target): """ :type nums: List[int]

百万年薪python之路 -- re模块

时光怂恿深爱的人放手 提交于 2019-11-27 21:43:36
re模块 re模块是python用来描述正则表达式的一个模块. 正则表达式 本身也和python没有什么关系,就是 匹配字符串内容的一种规则 。 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 在线测试工具 http://tool.chinaz.com/regex/ 到底什么是正则表达式? 在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。 常用元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 常用限定符 代码/语法 说明 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次 常用反义词 代码/语法 说明 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^aeiou]

python基础之字符串常用方法

心已入冬 提交于 2019-11-27 21:38:20
str常用命令:字符操作:.capitalize() .upper() .lower() .title() .swapcase()判断:.startwith() .endwith() .isalnum() .isalpha() .isdigit()统计:.count() len()索引:.find() .index()结构:.format() .strip() .lstrip() .rstrip() .split() .replace .center() .expandtabs()循环:for1,首字母大写:s.capitalize() s1 = 'python is good' s2 = s1.capitalize() print(s2) 2,全部大写:s.upper() s1 = 'python is good' s2 = s1.upper() print(s2) 3,全部小写s.lower() s1 = 'Python iS good' s2 = s1.lower() print(s2) result:python is good4,大小写翻转:s.swapcase() s1 = 'Python iS good' s2 = s1.swapcase() print(s2) result:pYTHON Is GOOD5,每个分隔的单词首字母大写:s.title() s1 =

Python学习(四)

拜拜、爱过 提交于 2019-11-27 21:34:15
Python学习(四) 一、列表 1、列表的定义 2、列表的常见操作 3、区分关键字、函数、方法 二、元组 1.元组的定义 2、元组的基本操作 3、元组的使用场景 4、列表和元组之间的转换 三、字典 1、定义 2、基本用法 3、应用的场景 四、字符串 1、定义 2、字符串基本操作 1、类型判断 2、查找替换 3、大小写转换 4、文本对齐 5、去除空白字符 6、拆分和连接 3、字符串切片 知识回顾 : (1)、Python中变量分为数字型和非数字型 数字型:int.float,bool,complex 非数字型:字符串、列表、元组、字典 (2)、在Python中,所有的 非数字型 变量都有以下的特点: 都是一个**序列**,可以理解为**容器** **取值**:[] **遍历**:for in 计算长度,最大值,最小值,比较,删除 **链接**:+ 和 **重复**:* 切片 一、列表 1、列表的定义 列表变量名 = [ 内容,中间用逗号,同一个列表可以储存不同类型的数据 ] 2、列表的常见操作 name_list = [ "zhangsan" , "lisi" ] #取值 print ( name_list [ 0 ] ) #取索引 print ( name_list . index ( "lisi" ) ) #修改 name_list [ 0 ] = "wangwu" #增加值