5-21python数据类型
一、字符串,是不可变数据类型,所有字符串的方法都不会修改字符串的值,使用字符串的方法后都是生成了一个新的字符串。就因为字符串是不可变变量!
字符串的方法
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数据类型的更多相关文章
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
- Python高手之路【二】python基本数据类型
一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...
- UniqueIdentifier 数据类型 和 GUID 生成函数
UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...
- SQL Server常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...
- 由js apply与call方法想到的js数据类型(原始类型和引用类型)
原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...
- python 数据类型 ----字典
字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...
- SQL数据类型
1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符. varchar ...
- 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型
运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
随机推荐
- jmeter之JDBC类组件
~什么是JDBC?:全称名为Java DataBase Connectivity,(java数据库连接),在jmeter中是一种可以远程操作数据库的一类组件. ~jmeter如何操作数据库?:jmet ...
- 95后新同事年薪35W+,老员工却“自愿申请”降薪10%,中年职场人正在崩溃
蔡依林在演唱会上说过的一句话:"在乐坛摸爬滚打这么多年,遭遇了那么多质疑和嘲讽还能挺立到今天,然后想说40岁是个很棒的年纪......",让很多在职场打拼多年的老员工感慨颇深. 真 ...
- 30K入职腾讯,全靠这份606页的Android面试指南
前言 光阴似箭,日月如梭,时间真的过得飞快. 加上实习,从事 Android 开发,差不多有 5 年了.在上家公司职务.薪酬感觉已经到达了天花板,没有上升的余地.而且在这家公司过于安逸了,想换个有挑战 ...
- 7.算法竞赛中的常用JAVA API :String 、StringBuilder、StringBuffer常用方法和区别(转载)
7.算法竞赛中的常用JAVA API :String .StringBuilder.StringBuffer常用方法和区别 摘要 本文将介绍String.StringBuilder类的常用方法. 在j ...
- Apache虚拟web主机构建
目录 一.构建虚拟web主机 1.1.虚拟web主机概述 二.搭建虚拟web主机步骤 2.1.基于域名搭建虚拟主机 ①为虚拟主机提供域名解析 ②为虚拟主机准备网页文档 ③添加虚拟主机配置 ④设置访问路 ...
- 神经网络:numpy实现神经网络框架
欢迎访问个人博客网站获取更多文章: https://beityluo.space 本文用numpy从零搭建了一个类似于pytorch的深度学习框架 可以用于前面文章提到的MINST数据集的手写数字识别 ...
- JVM钩子函数的使用
一.问题引入 背景 在编写一个需要持续在后台运行的程序的时候遇到了这样的场景:我的程序在主函数中创建了一个线程池周期性地执行任务,我希望主线程和线程池都持续运行,但如果收到外部的关闭信号时,主线程和线 ...
- STM32—驱动RFID-RC522模块
文章目录 一.S50(M1)卡介绍 1.S50(M1)卡基础知识 2.内部信息 3.存取控制 4.数据块的存取控制 5.控制块的存取控 6.工作原理 7.M1与读卡器的通信 二.RC522工程代码详解 ...
- STM32—4线SPI驱动SSD1306 OLED
文章目录 一.OLED简介 二.驱动SSD1306所需知识 1.引脚介绍 2.通信时序 3.显存GRAM 4.字库 5.SSD1306基本命令 三.代码讲解 1.相关引脚配置 2.模拟SPI通信 3. ...
- Vmware下安装Ubuntu18.04详情
转载地址:https://blog.csdn.net/qq_35623773/article/details/89893853