一、字符串类型
1、普通字符串
s1='abef\neiwo'
print s1
print type(s1)
结果:
abef
eiwo
<type 'str'>
2、原始字符串
s2=r'abef\neiwo'
print s2
print type(s2)
结果abef\neiwo
<type 'str'>
3、Unicode字符串
s3=u'abef\neiwo'
print s3
print type(s3)
结果:
abef
eiwo
<type 'unicode'>
二、转义符:以\开始
转义字符 描述
\(在行尾时) 续行符,也就是多行语句符
\\ 反斜杠符号
\' 单引号
\" 双引号
\n 换行
\t 横向制表符
\r 回车
回车换行:\r\n
 
三、字符串的格式化
1、%的使用
print 'I love python! I am %d years old.'%18
I love python! I am 18 years old.
2、定义长度
print 'I love python! I am %10d years old.'%18
I love python! I am 18 years old.右对齐是个长度
print 'I love python! I am %-10d years old.'%18 左对齐显示10个字符的长度
 
3、浮点数
print '%.2f'%2.34567
print 'aaa%10faaa'%2.34567
 
4、显示数字对应的ascii
print '%c'%68
结果:D
 
print 'I love python! I am %10d years old.'%18
print 'I love %-10s! I am %d years old.'%('python', 18)
print 'aaa%10faaa'%2.34567
print '%c'%68
 
四、字符串的表达式运算
+ * [] [: :] in cmp r/R原始字符串
b1='abc' 结果
b2='def'
print b1+b2 abcdef
print b1*2 abcabc
print b1[1] b
print b1[::2] ac
if 'c' in b1:
print 'ok' ok
 
五、字符串常用的方法
1、strip('char')
删除字符串位于开头和结尾处的字符,并新生成一个字符串
s.strip() 删除开头和结尾多余的空格
s='123irm'
s.strip('21') 结果:'3irm' 只要边上(开头和结尾)的字符在删除序列内,就删除掉
s.lstrip('char') 删除字符串开头的 char字符
s.rstrip('char') 删除字符串结尾处的char字符
 
2、大小写转换
s.lower() 把字符串中的大写字母全变为小写
s.upper() 把字符串中的小写字母全变为大写
s.islower() 判断字符串是否由小写字母组成(只判断字母,可以包含其他字符)
 
3、s.find(substr,[start],[end]) 查找字符串
start:默认值为0
end:默认值为-1
查找到,返回找到字符串第一个字符的下标
没有找到,返回-1
s='abdce'
print s.find('dc') 结果:2
 
4、s.replace(oldstr, newstr[, max])
newstr来替换oldstr ,max 为最多替换多少次,可选项
 
5、s.split([[sep],num=string.count(sep))
分割函数,最终生成列表。将一个字符串分裂成多个字符串组成的列表
sep:分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等
num:分割次数
list=s.split()
s='edaefawr'
print s.split('a') 结果;['ed','ef','wr']
 
6、str.join(seq)
与split()相反 ,把序列连接成字符串
seq:要连接的字符序列
str:用来连接序列的字符串
str='-'
seq=("a","b","c")
print str.join(seq) 结果:a-b-c
 
7、ord(char)
获取字符的ascii值
 
8、s.startswith('substr')
判断字符串是否以'substr'开始
 
9、字符串添加内容
str += 'a'+str(n)+'x'+'^'+str(n)+'+'

Python之数据结构:字符串的更多相关文章

  1. Python常见数据结构-字符串

    字符串基本特点 用引号括起来,单引号双引号均可,使用三个引号创建多行字符串. 字符串不可变. Python3直接支持Unicode编码. Python允许空字符串存在,不含任何字符且长度为0. 字符串 ...

  2. (python)数据结构---字符串

    一.概述 由一个个字符组成的有序序列. 使用单引号.双引号.三引号引住的字符序列. 不可变.线性的数据结构. 二.字符串的相关操作 1.元素访问----下标 字符串是线性的数据结构,可以使用索引去访问 ...

  3. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  4. (python数据分析)第03章 Python的数据结构、函数和文件

    本章讨论Python的内置功能,这些功能本书会用到很多.虽然扩展库,比如pandas和Numpy,使处理大数据集很方便,但它们是和Python的内置数据处理工具一同使用的. 我们会从Python最基础 ...

  5. python的数据结构分类,以及数字的处理函数,类型判断

    python的数据结构分类: 数值型 int:python3中都是长整形,没有大小限制,受限内存区域的大小 float:只有双精度型 complex:实数和虚数部分都是浮点型,1+1.2J bool: ...

  6. Python 基本数据结构

    Python基本数据结构 数据结构:通俗点儿说,就是存储数据的容器.这里主要介绍Python的4种基本数据结构:列表.元组.字典.集合: 格式如下: 列表:list = [val1, val2, va ...

  7. 转 Python常见数据结构整理

    http://www.cnblogs.com/jeffwongishandsome/archive/2012/08/05/2623660.html Python常见数据结构整理 Python中常见的数 ...

  8. Python常用数据结构(列表)

    Python中常用的数据结构有序列(如列表,元组,字符串),映射(如字典)以及集合(set),是主要的三类容器 内容 序列的基本概念 列表的概念和用法 元组的概念和用法 字典的概念和用法 各类型之间的 ...

  9. Python中关于字符串的问题

    在Python里面,字符串相加经常会出现'ascii' codec can't decode byte 0xe7 in position 0: ordinal not in range(128)这样的 ...

  10. python出输出字符串方式:

    python出输出字符串方式: >>> who='knights' >>> what='NI' >>> print ('we are the',w ...

随机推荐

  1. Java控制语句例题,for循环语句,if条件语句等,Scanner类与Random类,Math.max()方法

    例题:编写程序,生成5个1至10之间的随机整数,并打印结果到控制台 import java.util.Random;class demo09 { public static void main(Str ...

  2. java打包打包

    http://blog.sina.com.cn/s/blog_6b9dcc870101k8xq.html 上面说的最后一种方法,不太对. 下面这个可以 Try the fat-jar extensio ...

  3. Java异常处理的9个最佳实践

    无论你是新手还是资深程序员,复习下异常处理的实践总是一件好事,因为这能确保你与你的团队在遇到问题时能够处理得了它. 在 Java 中处理异常并不是一件易事.新手觉得处理异常难以理解,甚至是资深开发者也 ...

  4. java链接MySQL数据库时使用com.mysql.jdbc.Connection的包会出红线问题 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题

    package com.swift; //这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connecti ...

  5. 前端-带header和footer的双栏布局

    目标是实现如上图带header和footer的双栏布局,其中右侧sidebar是固定宽度,左侧content是自适应: https://www.zybuluo.com/dengzhirong/note ...

  6. SQL Server数据库日志清除

    第一步 将数据库转换成 simple 模式 USE master GO ALTER DATABASE 所要删除日志的数据库名 SET RECOVERY SIMPLE WITH NO_WAIT GO 第 ...

  7. 51nod——1402最大值、2479小b分糖果 (套路)

    1402最大值:正向从1到n,如果没有限制,就依次递增1,如果有限制,就取那个限制和递增到这的最小值.这样保证1和每个限制点后面都是符合题意的递增,但是限制点前面这个位置可能会有落差(之前递增多了). ...

  8. SummerVocation_Learning--java的线程死锁

    public class Test_DeadLock implements Runnable { ; static Object o1 = new Object(),o2 = new Object() ...

  9. MySQL - EXISTS 和 NOT EXISTS

    语法规则:   SELECT * FROM tableName t WHERE 1 = 1 AND 2 = 2 AND EXISTS (SELECT * FROM tableName t2 WHERE ...

  10. 拓扑排序+不是字典序的优先级排列(POJ3687+HDU4857)

    一.前言 在过去的一周里结束了CCSP的比赛,其中有一道题卡了我9个小时,各种调错都没法完整的调处来这题,于是痛下决心开始补题,这个是计划的一部分.事实上,基于错误的理解我写了若干发拓扑排序+字典序的 ...