一、字符串,是不可变数据类型,所有字符串的方法都不会修改字符串的值,使用字符串的方法后都是生成了一个新的字符串。就因为字符串是不可变变量!

字符串的方法

1、 strip(),默认去空格,但是当()中有某个字符串的话,意思就是去掉前面字符串中的某个字符串

例如:字符串名字xx.strip()

print('lalahi zhangyizhoulala'.strip('lala'))
但是要注意这个方法只是去掉字符串两头的指定东西,如果字符串中间有指定的lala时则不会生效

2、None,代表空,什么都没有,但不是空字符串

3、in,代表xx在A里

例如:

name = 'chuandan beizhao sijiantao'

print('sijiantao' in name)

返回结果是布尔值t或f

4、is,判断是否是同一块内存地址

例如:

p.p1 { margin: 0; font: 9px Helvetica; color: rgba(183, 196, 209, 1); background-color: rgba(57, 57, 57, 1) }
span.s1 { background-color: rgba(82, 66, 57, 1) }
span.s2 { color: rgba(0, 0, 0, 1) }
span.s3 { color: rgba(0, 145, 147, 1) }
span.s4 { color: rgba(215, 139, 64, 1) }
span.s5 { color: rgba(154, 156, 209, 1) }
span.s6 { background-color: rgba(67, 82, 68, 1) }

a1 = ['a','b','c']

a2 = ['a','b','c']

print(id(a1))

print(id(a2))

print(a1 is a2)

返回结果是布尔值t或f

5、 字符串的下标

通过字符串的下标取其第几位的值

如:

print(name[3])

6、是否以x结尾,例如

name = 'hello zhangyizhou'
print(name.endswith('h'))
返回false

7,find()查找字符串的索引,例如

name = 'hi zhangyizhou'
print(name.find('y',2,10))
返回位置的数字,如果返回-1代表没找到

2和10代表开始查找的位置和结束的位置,可以都不写,也可以只写开始的位置
8、isdigit()字符串是否是数字,例如
name = 'hi zhangyizhou'
print(name.isdigit())
返回布尔值

9、将字符串中变成大/小写,变成大写upper(),变成小写lower(),例如
name = 'hi zhangyiZHou'
print(name.lower()) 变成小写
print(name.upper()) 变成大写

10、join()拼接字符串,join后面必须是可迭代的对象,比如字符串或者列表之类的,例如
name = ['hi','zhangyiZHou']
print('用这个连接'.join(name))
 join前面想写啥写啥,意思是用‘用这个连接’这几个字将前面的东西和name里的东西拼成一个字符串,也可以写星号之类的。如果以上例子当中name的类型是字符串的话,运行的结果是连接符+hi,连接符+zhangyizhou

11、替换字符串replace()
例如:print('zhangyizhou is mm,zhangyizhou is nvde,zhangyizhou loveu'.replace('zhangyizhou','tihuandiao')),3个zhangyizhou都被替换成tihuandiao了
在要替换的字符串后面也可以加数字,代表着要替换几次
例如:
print('zhangyizhou is mm,zhangyizhou is nvde,zhangyizhou loveu'.replace('zhangyizhou','tihuandiao',1)),只替换第一个zhangyizhou

12、分割字符串,分割后返回一个列表,例如
char = 'zyz&yiso&zhrrt&namr2'
print(char.split('&'))
将char以&这个符号分割成一个新的列表

字符串必须会的方法

大小写字母+数字,随机生成验证码

Find,查找字符串

Format() 格式化字符串

Isalnum() 是否包含数字和字母

Isdigit() 是否是数字

Lower() 变成小写字母

Upper()变成大写字母

Join() 拼接字符串

Strip() 去空格,istrip()   rstrip()去左边空格和去右边空格

Replace()替换字符串中的指定字符串

Split()分隔字符串



二、列表

1、列表中增加元素

方法append,insert

append是在列表的末尾增加

insert是在指定位置增加

例如:

name = ['name1','name2','name3']

name.append('zhangyihzou')

print(name)

name.insert(1,'yiso')

print(name)

2、列表的删除

方法pop(),不指定元素的时候删除列表最后一个元素,且该方法能够返回被删除的值

例如:

name = ['name1','name2','name3']
name.insert(1,'yiso')
name.pop()
print(name)
返回通过pop删除的值
例如:
name = ['name1','name2','name3']
name.insert(1,'yiso')
name.pop()
print(name)
print('pop删的是:',name.pop())

方法pop(n),指定元素的x下标删除列表中指定位置的元素

例如:

name = ['name1','name2','name3']
name.insert(1,'yiso')
name.pop(1)
print(name)

方法clear(),清空列表

例如:

name = ['name1','name2','name3']
print('before的值:',name)
name.clear()
print('after的值:',name)

方法del[n],指定元素的x下标删除列表中指定位置的元素,且指定的下标必须存在,也可以用del方法删除整个列表,如del name

例如:

name = ['name1','name2','name3']
del name[1]
print(name)

方法remove(),删除列表中某个值,括号中必须写要删除元素的值,而不是下标,不会返回删除的值

例如:

name = ['name1','name2','name3']
name.remove ('name1')
print(name)

3、列表中修改元素
name[n] = xxx,为修改列表中某元素的值。也可以直接给列表重新负值,即 name = ['值1',‘值2’,‘...’]
例如:
name = ['name1','name2','name3']
name[2] = 'lalala'
print(name)
注意:如果找不到列表中的下标,对其进行修改值,会报错
例如:
name = ['name1','name2','name3']
name[9] = 'lalala'
print(name)
4、列表的查询
A in B,in方法
例如:

p.p1 { margin: 0; font: 9px Helvetica; color: rgba(0, 145, 147, 1); background-color: rgba(52, 53, 45, 1) }
span.s1 { color: rgba(249, 249, 245, 1); background-color: rgba(90, 60, 89, 1) }
span.s2 { color: rgba(0, 0, 0, 1) }
span.s3 { color: rgba(253, 68, 133, 1) }
span.s4 { color: rgba(249, 249, 245, 1) }
span.s5 { color: rgba(189, 153, 255, 1) }
span.s6 { color: rgba(215, 139, 64, 1) }
span.s7 { color: rgba(117, 224, 242, 1) }
span.s8 { color: rgba(249, 249, 245, 1); background-color: rgba(77, 78, 106, 1) }

list = [1,2,3,'zhangyizhou']

print('zhangyizhou' in list)

列表名[-1],-1是取列表中最后一个元素。同理,-2代表倒数第二个元素,-3代表第三个元素
例如:
list = [1,2,3,'zhangyizhou']
print(list[-1])
index(元素值)方法,意思是查询某个元素的下标,如果这个值在列表中不存在,报错
例如:

p.p1 { margin: 0; font: 9px Helvetica; color: rgba(136, 132, 113, 1); background-color: rgba(52, 53, 45, 1) }
span.s1 { color: rgba(249, 249, 245, 1); background-color: rgba(90, 60, 89, 1) }
span.s2 { color: rgba(0, 0, 0, 1) }
span.s3 { color: rgba(253, 68, 133, 1) }
span.s4 { color: rgba(249, 249, 245, 1) }
span.s5 { color: rgba(189, 153, 255, 1) }
span.s6 { color: rgba(215, 139, 64, 1) }
span.s7 { color: rgba(0, 145, 147, 1) }
span.s8 { color: rgba(117, 224, 242, 1) }
span.s9 { color: rgba(249, 249, 245, 1); background-color: rgba(77, 78, 106, 1) }

list = [1,2,3,'zhangyizhou']

print(list.index(1))

index方法中也可以从指定位置开始找,index(元素值,m,n)   m代表查找的开始位置,n代表查找的结束位置,结束的位置可以不写,意思就是查找到列表最后
例如:

p.p1 { margin: 0; font: 9px Helvetica; color: rgba(136, 132, 113, 1); background-color: rgba(52, 53, 45, 1) }
span.s1 { color: rgba(249, 249, 245, 1); background-color: rgba(90, 60, 89, 1) }
span.s2 { color: rgba(0, 0, 0, 1) }
span.s3 { color: rgba(253, 68, 133, 1) }
span.s4 { color: rgba(249, 249, 245, 1) }
span.s5 { color: rgba(189, 153, 255, 1) }
span.s6 { color: rgba(215, 139, 64, 1) }
span.s7 { color: rgba(0, 145, 147, 1) }
span.s8 { color: rgba(117, 224, 242, 1) }
span.s9 { color: rgba(249, 249, 245, 1); background-color: rgba(77, 78, 106, 1) }

list = [1,2,3,'zhangyizhou']

print(list.index('zhangyizhou',3,3))

5、列表的运算
+
list a +list b,意思是列表a元素和b元素相加后组成一个新的列表,新列表中的元素顺序按照a和b的顺序显示。但a和b中的值没有变化
例如:

p.p1 { margin: 0; font: 9px Helvetica; color: rgba(0, 145, 147, 1); background-color: rgba(52, 53, 45, 1) }
span.s1 { color: rgba(249, 249, 245, 1); background-color: rgba(90, 60, 89, 1) }
span.s2 { color: rgba(0, 0, 0, 1) }
span.s3 { color: rgba(253, 68, 133, 1) }
span.s4 { color: rgba(249, 249, 245, 1) }
span.s5 { color: rgba(215, 139, 64, 1) }
span.s6 { color: rgba(189, 153, 255, 1) }
span.s7 { color: rgba(117, 224, 242, 1) }
span.s8 { color: rgba(249, 249, 245, 1); background-color: rgba(77, 78, 106, 1) }

list1 = ['zhangyizhou','yiso',1,33,600]

list2 = [25,68,'mengmengzhou','hahaha12']

print(list1 + list2)

a.extend(b),意思是把b的值扩展到a中,b的值不变,但是a的值是a+b后的值,顺序是a+b。
例如:

p.p1 { margin: 0; font: 9px Helvetica; color: rgba(249, 249, 245, 1); background-color: rgba(52, 53, 45, 1) }
span.s1 { background-color: rgba(90, 60, 89, 1) }
span.s2 { color: rgba(0, 0, 0, 1) }
span.s3 { color: rgba(253, 68, 133, 1) }
span.s4 { color: rgba(0, 145, 147, 1) }
span.s5 { color: rgba(215, 139, 64, 1) }
span.s6 { color: rgba(189, 153, 255, 1) }
span.s7 { color: rgba(136, 132, 113, 1) }
span.s8 { background-color: rgba(77, 78, 106, 1) }
span.s9 { color: rgba(117, 224, 242, 1) }

list1 = ['zhangyizhou','yiso',1,33,600]

list2 = [25,68,'mengmengzhou','hahaha12']

list1.extend(list2)

print(list1)

a.append(b),意思是把b这个整体加在a的末尾,注意这时结果会是一个二维数组,因为b在结果中是一个整体
例如:
a = ['a',3,'zhangyizhou',68]
b = [1,2,5,7]
print(a)
print(b)
6、列表的排序,默认是升序排序
sort()方法,将列表中的元素升序排序, 需要注意的是,用到排序方法,列表中的值必须是同一种类型的数据
例如:

p.p1 { margin: 0; font: 9px Helvetica; color: rgba(249, 249, 245, 1); background-color: rgba(52, 53, 45, 1) }
span.s1 { background-color: rgba(90, 60, 89, 1) }
span.s2 { color: rgba(0, 0, 0, 1) }
span.s3 { color: rgba(253, 68, 133, 1) }
span.s4 { color: rgba(189, 153, 255, 1) }
span.s5 { color: rgba(215, 139, 64, 1) }
span.s6 { background-color: rgba(77, 78, 106, 1) }
span.s7 { color: rgba(117, 224, 242, 1) }

list = [1,34,5,94,45,555,976]

list.sort()

print(list)

sort(reverse = True)方法,将列表中的元素降序排序
例如:

p.p1 { margin: 0; font: 9px Helvetica; color: rgba(249, 249, 245, 1); background-color: rgba(52, 53, 45, 1) }
span.s1 { background-color: rgba(90, 60, 89, 1) }
span.s2 { color: rgba(0, 0, 0, 1) }
span.s3 { color: rgba(253, 68, 133, 1) }
span.s4 { color: rgba(189, 153, 255, 1) }
span.s5 { color: rgba(215, 139, 64, 1) }
span.s6 { background-color: rgba(77, 78, 106, 1) }
span.s7 { color: rgba(186, 93, 50, 1) }
span.s8 { color: rgba(117, 224, 242, 1) }

list = [1,34,5,94,45,555,976]

list.sort(reverse = True)

print(list)

 
三、切片,对字符串和字典均可操作

切片:从列表和字符串里取几个元素

List[m:n],意思是取第m位到第n位的元素

例如:
list = ['zhangyizhou','yiso','youxin']

print(list[1:3])

注意,如果从第一位开始取的话冒号前可以不写,渠道最后的话冒号后可以不写,如果都不写只写冒号的话就是从头取到尾

字符串的写法同上,注意取值都是顾头不顾尾

四、步长

步长:从列表和字符串里隔几个取一个元素

例如:

num = list(range(1,21))

print(num[0:11:3])
意思是从第0个到第11个隔3个元素取一次值
以上输出的是:[1, 4, 7, 10]
如果步长为负数的话,意思是从最后一个往前取值,相当于倒序排序
例如:
num = list(range(1,21))

print(num[::-1])
以上输出的是:[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
如果步长是-2的话意思是从末尾开始取,隔两个取一次

五、元组
元祖:不可变的列表list。更多时候用在操作数据库读数据库时使用。
元组用小括号定义,如tuple()
元组只有两个方法,count()和index()。统计元组中重复元素出现的次数,和索引读下标
例如:
tuple = (0,1,2,3,2,5,6,7,8,2,2)

print(tuple)

print(tuple.count(2))
统计2在tuple中出现的次数
例如:
tuple = (0,1,2,3,2,4,6,7,8,2,2)

print(tuple.index(4))
以上例子是返回元组中数值是4的元素的下标

六、字典
字典:用大括号{}表示。Key value的形式在大括号里。但是key在字典里不能重复的,是唯一的。
1、字典取值的方法,通过key取值
例如:
zidian = {

    'name':'zhangyizhou',

    'sex':'man',

    'age':'17',

    'grade':'one'

}

print(zidian['grade'])
 
另一种取值的方法get()
例如:
zidian = {

    'name':'zhangyizhou',

    'sex':'man',

    'age':'17',

    'grade':'one'

}

print(zidian.get('sex'))
以上两个方法的区别是get获取不到Key的时候不会报错返回是none
print(zidian.get('haha','没找到你要的'))
以上例子中没找到你要的这个参数,代表是当get不到Key时返回的东西,如果不写该参数的话返回none

2、字典增加的方法
用中括号
例如
zidian = {

    'name':'zhangyizhou',

    'sex':'man',

    'age':'17',

    'grade':'one'

}



zidian['addr'] = '朝阳区青年路'
 
另一种增加的方法setdefault(‘key’,’值’)
例如:
zidian = {

    'name':'zhangyizhou',

    'sex':'man',

    'age':'17',

    'grade':'one'

}

zidian.setdefault('addr','甜水园麦当劳')

print(zidian

      )
 3、字典修改的方法:
用中括号
同新增的中括号:zidian['like'] = 'music'

4、
字典删除的方法
del(key)
例如:del zidian[‘addr’]
pop(),字典是无序的,所以Pop方法必须传一个指定的key,而且指定删除的这个key必须存在,否则报错 
例如:pop(‘sex’)
Clear(),直接清空字典
例如:

zidian.clear()
Popitem(),意思是随机删除一个元素
例如:zidian.popiten()
以上返回的是:{}

5、字典的内置方法:
all.keys()   返回字典的所有key    例如:print(all.keys(zidian))
all.values()返回字典所有的value   例如:print(all.values(zidian))
all.items()  返回字典所有的key 和value,循环字典的时候用        

6、字典的合并,将两个字典合并在一起
例如:
zidian1 = {
'name':'zhangyizhou',
'sex':'man',
'age':'17',
'grade':'one'
}
zidian2 = {
'xing':'yiso',
'nianji':'san',
'pohone':'13311221345',
}
zidian1.update(zidian2)
print(zidian1)

注意,如果要合并的两个字典中有相同的key,那么该方法执行后会更新key的value
7、判断是否在字典中存在的方法,in
例如:name in zidian1
返回的是布尔值

 
 
 

p.p1 { margin: 0; font: 9px Helvetica; color: rgba(0, 145, 147, 1); background-color: rgba(57, 57, 57, 1) }
span.s1 { color: rgba(183, 196, 209, 1); background-color: rgba(82, 66, 57, 1) }
span.s2 { color: rgba(0, 0, 0, 1) }
span.s3 { color: rgba(154, 156, 209, 1) }
span.s4 { color: rgba(183, 196, 209, 1) }
span.s5 { color: rgba(215, 139, 64, 1) }
span.s6 { color: rgba(183, 196, 209, 1); background-color: rgba(67, 82, 68, 1) }

5-21python数据类型的更多相关文章

  1. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  2. JS 判断数据类型的三种方法

    说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...

  3. Python高手之路【二】python基本数据类型

    一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...

  4. UniqueIdentifier 数据类型 和 GUID 生成函数

    UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...

  5. SQL Server常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...

  6. 由js apply与call方法想到的js数据类型(原始类型和引用类型)

    原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...

  7. python 数据类型 ----字典

    字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...

  8. SQL数据类型

    1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符.   varchar ...

  9. 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

    运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...

  10. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

随机推荐

  1. C++ //构造函数调用规则 //1.创建一个类,C++编译器会给每个类添加至少3个函数 //默认构造(空实现) //析构函数(空实现) //拷贝函数(值拷贝) //2.如果我们写了有参构造函数 编译器就不会提供默认构造函数 但是会提供拷贝构造函数 //3.如果我们写了拷贝函数 编译器就不再提供 默认 有参 构造函数

    //构造函数调用规则 #include <iostream> using namespace std; //1.创建一个类,C++编译器会给每个类添加至少3个函数 //默认构造(空实现) ...

  2. Maven 基础标签之版本管理和冲突解决

    前言 我们在做java项目的时候由于jar包太多,我们就需要使用maven做项目管理,管理项目的jar包依赖,包括打包上线 maven基础 Maven 是一个项目管理工具,主要用于项目构建,依赖管理, ...

  3. HTML5(十一)——WebSocket 基础教程

    一.为什么要学 WebSocket? websocket 是 HTML5 提供的一种长链接双向通讯协议,使得客户端和服务器之间的数据交换更简单,允许服务端主动向客户端推送数据,并且客户端与服务端只需连 ...

  4. 如何远程调试自定义开发的Flume应用

    一.前言 Flume作为当下最流行的大数据采集组件之一.其本身拥有分布式/高可靠/高可用等优点,但相比较于Flink/Spark/Kafka等大数据组件,其对于本地调试的功能支持度并不高,如果我们没有 ...

  5. 不懂Ribbon原理的可以进来看看哦,分析SpringBoot自动装配完成了Ribbon哪些核心操作

      前面详细的给大家介绍了SpringBoot的核心内容,有了这部分的基础支持的话,我们再来分析SpringCloud中的相关组件就很容器了,本文我们来给大家开始介绍Ribbon的相关内容,首先来介绍 ...

  6. Apache虚拟web主机构建

    目录 一.构建虚拟web主机 1.1.虚拟web主机概述 二.搭建虚拟web主机步骤 2.1.基于域名搭建虚拟主机 ①为虚拟主机提供域名解析 ②为虚拟主机准备网页文档 ③添加虚拟主机配置 ④设置访问路 ...

  7. Python语言系列-10-数据库

    MySQL 基础环境准备 readme.txt 作者:Alnk(李成果) 版本:v1.0 安装mysql数据库 略 创建student库 # mysql> create database stu ...

  8. QZHWTEST2021.5.23分析

    树上游戏 题面 题目描述 \(FLY\)和朋友玩一个游戏. 在一棵树上,每个点都有一个点权,\(FLY\)和朋友从根开始,轮流取出点权作为分值,并且由当前玩家选择前往哪一个儿子,直到到达叶子节点后计算 ...

  9. S3C2440—10.代码重定位

    文章目录 一.启动方式 1.1 NAND FLASH 启动 1.2 NOR FLASH 启动 二. 段的概念 2.1 重定位数据段 2.2 加载地址的引出 三.链接脚本 3.1 链接脚本的引入 3.2 ...

  10. mysql使用 分区表使用,常用sql

    mysql使用 分区表使用,常用sql 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/84839478未经博主允许不得转载 ...