基本数据类型扩展,及字符串的操做(切片,记忆希望字符串的基本操作)

?.python基本数据类型

1. int ==> 整数. 主要?来进?数学运算

2. str ==> 字符串, 可以保存少量数据并进?相应的操作

3. bool==>判断真假, True, False

4. list==> 存储?量数据.?[ ]表?

5. tuple=> 元组, 不可以发?改变 ?( )表?

6. dict==> 字典, 保存键值对, ?样可以保存?量数据

7. set==> 集合, 保存?量数据. 不可以重复. 其实就是不保存value的dict

整数(int)

在python3中所有的整数都是int类型. 但在python2中如果数据量比较?. 会使?long类型.

在python3中不存在long类型

整数可以进?的操作:

bit_length(). 计算整数在内存中占?的?进制码的?度

s1 = 15
print(s1.bit_length())

布尔值(bool)

取值只有True, False. bool值没有操作.

转换问题:

str => int int(str)

int => str str(int)

int => bool bool(int). 0是False 非0是True

bool=>int int(bool) True是1, False是0

str => bool bool(str) 空字符串是False, 不空是True

bool => str str(bool) 把bool值转换成相应的"值"

字符串(str)

把字符连成串. 在python中?‘, ", ‘‘‘, """引起来的内容被称为字符串

1.1 字符串操作(切片,索引)

索引. 索引就是下标. 切记, 下标从0开始

s2 = "python is good code"
print(s2[2])
print(s2[-1]) #代表倒数第一个

  

1.2 切片,可以使用下标来截取部分字符串的内容

语法:str[start:end]

规则: 顾头不顾尾,从start开始截取,截取到end位置,但不包括end。

s3 = "python is good code"
print(s3[0:3])   #截取一段
print(s3[0:])     #从头到尾
print(s3[:])       #原样输出
print(s3[-1:-5])  # 从-1 获取到 -5 这样是获取不到任何结果的从-1向右数. 你怎么数也数不到-5
print(s3[-5:-1])  #取到数据了

print(s3[:-1]) #取到倒数第二个

  

跳着截取(步长)

# 跳着取, 步?
print(s2[1:5:2]) # 从第?个开始取, 取到第5个,每2个取1个, 结果: yh, 分析: 1:5=>
ytho => yh
print(s2[:5:2]) # 从头开始到第五个. 每两个取?个
print(s2[4::2]) # 从4开始取到最后. 每两个取?个
print(s2[-5::2]) # 从-5取到最后.每两个取?个
print(s2[-1:-5]) # -1:-5什么都没有. 因为是从左往右获取的.
print(s2[-1:-5:-1]) # 步?是-1. 这时就从右往左取值了
print(s2[-5::-3]) # 从倒数第5个开始. 到最开始. 每3个取?个, 结果oy

  

步?: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1

切片语法:

str[start:end:step]

start: 起始位置

end: 结束位置

step:步?

1.3 字符串的相关操作

切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的

s1 = "pYtUon"
print(s1.capitalize())  #首字母大写
print(s1.lower())       #全部字母小写
print(s1.upper())      #全部字母大写
print(s1.swapcase()) #大小写转换
print(s1.casefold())   #和lower得功能是一样得,不过casefold 对所有字母都有效,譬如一些东欧的字母s2= "*python_is_good_code    "print(s2.title()) # 特殊字符后等候字母大写

切来切去s5 = "周杰伦"print(s5.center(11,"*"))    #拉长成11个占位,吧周杰伦放居中,其余用*补全  居中

s3 = "   _alxe_is  haha   "print(s3.strip())  #去空格两边得  l 是左  r 是右

# 字符串替换

s8 = "sylar_alex_taibai_wusir_eggon"

ret = s8.replace(‘alex‘, ‘???王‘) # 把alex替换成???王

ret = s8.replace(‘i‘, ‘SB‘, 2) # 把i替换成SB, 替换2个

  

原文地址:https://www.cnblogs.com/GYC-GXm/p/12200692.html

时间: 2024-08-06 01:40:23

基本数据类型扩展,及字符串的操做(切片,记忆希望字符串的基本操作)的相关文章

字符串的索引和切片

本文主要介绍:字符串的索引,切片及求字符串的长度 代码: #!/usr/bin/env python# author by lh# -*- coding:utf-8 -*- s='hello'ret=len(s)print retret1=s[0:3]print ret1print s[0]print s[1]print s[2]print s[3]print s[4] 运行结果:

java-基本数据类型扩展(其包装类)

1.基本数据类型的对象包装类 byte     Byte short   Short int          Integer long     Long float        Float double   Double char     Character boolean Boolean 2.基本数据类型对象包装类的最常见作用: 就是用于基本数据类型和字符串类型之间做转换 2.1基本数据类型转成字符串的方法. Xxx.toString(基本数据类型值) 基本数据类型+"" 基本数

expdb 操做方法

expdp system/oracle directory=DB_BAK dumpfile=zhzy.dmp schemas=zhzy expdp system/SYSTEM directory=DB_BAK dumpfile=sde__zyyh_zhzy.dmp schemas=(sde,zyyh,zhzy) logfile=expdp_all.log expdp system/SYSTEM directory=DB_BAK dumpfile=sde__zyyh_zhzy.dmp schema

文本操做小结

文本操做: 对文件操作流程: 1. 打开文件,得到文件句柄并赋值给一个变量 2. 通过句柄对文件进行操作 3. 关闭文件  data = open("file").read() print(data)  fs = open("yesterday","r", encoding="utf-8")         #fs即文件句柄 data = fs.read()          #从头开始一行一行读文件内容,然后指针到了最后. 

字符串和对象做非空判断

在对字符串或者对象做非空判断时,需要将判断是否为null写在长度是否为0之前: 1 //错误写法,用这种写法,如果map为null时,那么在运行map.size()时就会报错 2 if(map.size()==0||map==null||map.get("ASSOCONTRACTID")==null) { 3 ... 4 } 5 //正确写法 6 if(map==null||map.size()==0||map.get("ASSOCONTRACTID")==null

UTF-8编码的字符串拆分成单字、获取UTF-8字符串的字符个数的代码及原理

一.字符编码简介 1. ASCII码 在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte).也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111.上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定.这被称为ASCII码,一直沿用至今.ASCII码一共规定了128个字符的

java中字符串常量,堆栈的区别和字符串函数intern()

转自:http://txy821.iteye.com/blog/760957 java.lang.String的intern()方法 "abc".intern()方法的返回值还是字符串"abc",表面上看起来好像这个方法没什么用处.但实际上,它做了个小动作: 检查字符串池里是否存在"abc"这么一个字符串,如果存在,就返回池里的字符串:如果不存在,该方法会把"abc"添加到字符串池中,然后再返回它的引用. 我们做个测试: Ja

字符串中连续出现最多的子串 & 字符串中最长重复子串

字符串中连续出现最多的子串 & 字符串中最长重复子串 字符串中连续出现最多的子串 & 字符串中最长重复子串,这两个问题都可以用后缀数组来表示,至于后缀数组可以参考编程珠玑P156:后缀数组就是定义一个数组指针,分别指向字符串中的对应位置,如下: a b c a b c a b c d e .substr[0] b c a b c a b c d e ....substr[1] c a b c a b c d e .......substr[2] a b c a b c d e ......

比较字符串总结:如果计算两个字符串的相似度或者距离

有关字符串相关比较问题,一般处理方法都选择动态规划处理方法.或者是单个循环,或者是多个循环:dp 遇到这种两个串的问题,很容易想到DP.但是这道题的递推关系不明显.可以先尝试做一个二维的表int[][] dp,用来记录匹配子序列的个数(以S="rabbbit",T = "rabbit"为例): r a b b b i t 1 1 1 1 1 1 1 1 r 0 1 1 1 1 1 1 1 a 0 0 1 1 1 1 1 1 b 0 0 0 1 2 3 3 3 b 0