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

字符串的方法

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. jmeter之JDBC类组件

    ~什么是JDBC?:全称名为Java DataBase Connectivity,(java数据库连接),在jmeter中是一种可以远程操作数据库的一类组件. ~jmeter如何操作数据库?:jmet ...

  2. 95后新同事年薪35W+,老员工却“自愿申请”降薪10%,中年职场人正在崩溃

    蔡依林在演唱会上说过的一句话:"在乐坛摸爬滚打这么多年,遭遇了那么多质疑和嘲讽还能挺立到今天,然后想说40岁是个很棒的年纪......",让很多在职场打拼多年的老员工感慨颇深. 真 ...

  3. 30K入职腾讯,全靠这份606页的Android面试指南

    前言 光阴似箭,日月如梭,时间真的过得飞快. 加上实习,从事 Android 开发,差不多有 5 年了.在上家公司职务.薪酬感觉已经到达了天花板,没有上升的余地.而且在这家公司过于安逸了,想换个有挑战 ...

  4. 7.算法竞赛中的常用JAVA API :String 、StringBuilder、StringBuffer常用方法和区别(转载)

    7.算法竞赛中的常用JAVA API :String .StringBuilder.StringBuffer常用方法和区别 摘要 本文将介绍String.StringBuilder类的常用方法. 在j ...

  5. Apache虚拟web主机构建

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

  6. 神经网络:numpy实现神经网络框架

    欢迎访问个人博客网站获取更多文章: https://beityluo.space 本文用numpy从零搭建了一个类似于pytorch的深度学习框架 可以用于前面文章提到的MINST数据集的手写数字识别 ...

  7. JVM钩子函数的使用

    一.问题引入 背景 在编写一个需要持续在后台运行的程序的时候遇到了这样的场景:我的程序在主函数中创建了一个线程池周期性地执行任务,我希望主线程和线程池都持续运行,但如果收到外部的关闭信号时,主线程和线 ...

  8. STM32—驱动RFID-RC522模块

    文章目录 一.S50(M1)卡介绍 1.S50(M1)卡基础知识 2.内部信息 3.存取控制 4.数据块的存取控制 5.控制块的存取控 6.工作原理 7.M1与读卡器的通信 二.RC522工程代码详解 ...

  9. STM32—4线SPI驱动SSD1306 OLED

    文章目录 一.OLED简介 二.驱动SSD1306所需知识 1.引脚介绍 2.通信时序 3.显存GRAM 4.字库 5.SSD1306基本命令 三.代码讲解 1.相关引脚配置 2.模拟SPI通信 3. ...

  10. Vmware下安装Ubuntu18.04详情

    转载地址:https://blog.csdn.net/qq_35623773/article/details/89893853