python中各种数据类型
数字类型
整型int
作用:年纪,等级,身份证号,qq号等与整型数字有关
定义:
age=10 #本质age=int(10)
浮点型float
作用:薪资,身高,体重等与浮点数相关
salary=3.1#本质salary=float(3.1)
该类型总结
只能存一个值
不可变类型
x=10.3 print(id(x)) x=10.4 print(id(x))
字符串类型
1.用途:记录描述性的状态,比如人的名字、地址、性别
2.定义方式:在“”,‘’,“”“”“”内包含一系列的字符
msg='hello'#msg=str(hello)
3.常用操作+内置的方法
优先掌握的操作:
1)按索引取值(正向取+反向取):只能取
msg='hello world' print(msg[4]) print(msg[-1])
2)切片(顾头不顾尾,即前闭后开区间)
msg='hello world' print(msg[0:2]) print(msg)#没有改变原值 print(msg[0:5:2]) print(msg[0:-1:2])
3)长度len
msg='hello world' print(len(msg))
4)成员运算in和not in:判断一个子字符串是否存在一个大的字符串中
msg='hello world' print('he' in msg) print('alex' in msg)
5)去掉字符串左右两边的字符strip,不管中间的
user=' egon ' print(user.strip()) user="*******egon********" print(user.strip('/*')) user=input('>>:').strip()
6)切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值
msg="root:123456:0:0::/root:/bin/bash" res=msg.split(':') print(res[0])
7)循环
msg='hello' for i in msg: print(i)
需要掌握的
1)strip,lstrip,rstrip
print('*****egon*****'.lstrip('*')) print('*****egon*****'.rstrip('*')) print('*****egon*****'.strip('*'))
2)lower,upper
msg='aABBBBb' res=msg.lower() print(res) print(msg)
3)startwith,endwith
msg='alex is dsb' print(msg.startswith('alex')) print(msg.startswith('xuxu')) print(msg.endswith('sb')) print(msg.endswith('gua'))
4)format的三种玩法
print('my name is {name} my age is {age}'.format(name='alex',age=18)) print('my name is {} my age is {}'.format('alex',18)) print('my name is {0}{0} my age is {1}'.format('alex',18))
5)split,rsplit
msg='get|a.txt|333331231' # print(msg.split('|',1)) print(msg.split('|',1)) print(msg.rsplit('|',1))
6)join
msg='get|a.txt|333331231' l=msg.split('|') print(l) src='|'.join(l) print(src)
l=['a','b','c'] l2=('d','e','f') print('|'.join(l)) print('>'.join(l2))
7)replace替换
msg='alex say i have one tesla,alex is alex hahaha' print(msg.replace('alex','sb'))
8)isdigit判断是否为纯数字
print('10.1'.isdigit()) '.isdigit())
需要了解的内置方法
1)find,rfind,index,rindex,count
msg='hello alex is sb' print(msg.find('alex')) print(msg.find('alex',0,3)) print(msg.index('alex')) print(msg.index('alex',0,3)) res='alex love alex' print(res.count('alex'))
2)center,ljust,rjust,zfill
print('egon'.center(50,"*")) print('egon'.ljust(50,"*")) print('egon'.rjust(50,"*")) print('egon'.zfill(50))
3)capatalize,swapcase,title
print('hello'.capitalize())#首字母大写 print('hElLo'.swapcase())#大小写互换 print('egon is nb'.title())#每个单词首字母大写
4)is系列
'.isdigit())#字符串是否为纯数字 print('10.1'.isdigit()) print('abc你'.isalpha())# 字符串中包含的是字母或者中文字符 print('abc12'.isalnum())# 字符串中包含的是字母(中文字符)或数字
强调:
1)字符串之间可以相加,但是必须是字符串与字符串相加,其他类型数据则报错
msg1='hello' msg2='world' print(msg1+msg2)
2)字符串还可以做乘法
msg1='hello' print(msg1*10)
3)字符串相加是新申请内存空间然后拷贝相加的字符串到新的内存中,效率不高,尽量避免这么使用
该类型总结
1.存一个值
2.有序
3.不可变
列表类型
1.作用:记录/存多个值,可以方便的取出指定位置的值
2.定义:在[]内用逗号分隔开多个任意类型的值
l=[10,3.1,'egon',['a','b'],{'name':'lxx','age':18},None]# l=list([10,3.1,'egon',['a','b']]) print(l[0]) print(l[3][1])
3.常用操作+内置方法
优先掌握的操作
1)按索引取值(正向存取+反向存取):既可存也可以取
l=['egon','lxx','yxx'] print(l[0]) print(l[-2])
2)切片(顾头不顾尾)
l=['egon','lxx','yxx',444,555,66666] print(l[0:2]) print(l[::2])
3)长度
l=['egon','lxx','yxx',444,555,66666,[1,2,3]] print(len(l))
4)成员运算in和not in
l=['egon','lxx','yxx',444,555,66666,[1,2,3]] print('egon' in l) print(88 in l)
5)追加
l=['egon','lxx','yxx']#只能追加一项 l.append('alex') print(l)
6)往指定索引前插入值
l=['egon','lxx','yxx'] l.insert(1,'dsb') print(l)
7)删除
方式1:
l=['egon','lxx','yxx']#单纯的删除值,没有返回值 del l[0] print(l)
方式2:
l=['egon','lxx','yxx'] res=l.remove('lxx')#指定要删除的值,返回的值是None print(res)
方式3:
l=['egon','lxx','yxx',11,22] res1=l.pop(0)#从列表中拿走一个值,返回值是被删除的值 res2=l.pop()#默认是从末尾开始删 print(res1,res2,l)
8)循环
l=['egon','lxx','yxx'] for item in l: print(item)
需要掌握的操作
1)extend添加多项
items=['a','b','c'] s=['alex','lxx'] items.extend(s) print(items)
2)reverse倒序
l=['egon','egon','lxx','yxx',444,555,66666] l.reverse() print(l) print()
3)sort排序,不能用于不同类型的数据,否则报错
items=[1,5,2] items.sort() print(items)
4)
l=['egon','egon','lxx','yxx',444,555,66666] print(l.count('egon')) print(l.index('egon'))#查找不到则会报错 l.clear()#清空列表内容 print(l)
该类型总结
1.存多个值
2.有序
3.可变
l=['a','b','c'] print(id(l)) l.append('d') print(id(l))
元组类型
1.用途:记录多个值,当多个值没有改的需求,此时用元组更合适(元组中的元素的内存,即id值不能改变)
2.定义方式:在()内用逗号分隔开多个任意类型的值
t=(1,1.3,'xx',('a','b'),[1,2])
3.常用操作+内置方法
优先掌握的操作:
基本和列表类似
该类型总结:
1.存多个值
2有序
3不可变
补充:不可变类型==》可hash类型
可变类型===》不可hash类型
字典类型
1.用途:记录多个值,每一个值都对应的key用来描述value的作用
2.定义方式:在{}内用逗号分隔开多个key:value,其中value可以是任意类型,但是key必须是不可变类型,通常情况下应该是str类型
dic={0:'aaa',1:'bbb',2:'cccc'} #dic=dict({0:'aaa',1:'bbb',2:'cccc'}) print(dic,type(dic)) print(dic[0])
用法
#用法一: dic=dict(x=1,y=2,z=3) print(dic) #用法二: userinfo=[ ['name','egon'], ['age',18], ['sex','male'] ]
3.常用操作+内置方法
优先掌握的操作
1)按key存取值
dic={'name':'egon'} print(dic['name'])
2)长度len
dic={'name':'egon','age':18,'name':'EGON','name':'XXXX'} print(dic) print(len(dic))
3)成员运算in和not in:字典的成员运算判断的是key
dic={'name':'egon','age':18,} print(18 in dic) print('age' in dic)
4)删除
dic={'name':'egon','age':18,} # 通用 del dic['name']#没有返回值 print(dic) del dic['xxx'] ##key不存在则报错
使用pop删除
dic={'name':'egon','age':18,} # res=dic.pop('aa')#不存在的key则报错 res=dic.pop('name')#返回值为对应的value print(res,dic)
使用popitem删除
di={'name':'alex','age':18,'addr':'beijing'} res=di.popitem()#随机删除一项,返回值为key:value字典 print(res,di)#工作时如果遇到需要逐一删除项的工作,用popitem方法效率很高
5)键keys(),值values(),键值对items()
dic={'name':'egon','age':18,} print(dic.keys(),dic.values(),dic.items())
6)循环
dic={'name':'egon','age':18,'sex':'male'} for k in dic.keys(): print(k,dic[k])
7)get
dic={'name':'egon','age':18,'sex':'male'} print(dic.get('name'))#返回name对应的value print(dic.get('aa'))#没有对应的value,返回None
需要掌握的操作
1)fromkeys的用法
l=['name','age','sex'] dic = {} dic=dic.fromkeys(l) print(dic)
2)update
old_dic={'name':'egon','age':18,'sex':'male'} new_dic={'name':'EGON','x':1,'y':2} old_dic.update(new_dic) print(old_dic)
4)setdefault:有则不动/返回原值,无则添加/返回新值
dic={'name':'egon','age':18} res1=dic.setdefault('name','EGON') # 字典中已经存在key则不修改,返回已经存在的key对应的value print(res1,dic) res2=dic.setdefault('addr','shanghai') print(res2,dic)
该类型总结
1.存多个值
2.无序
3.可变
集合类型
1.用途:关系运算,去重
2.定义方式:在{}内用逗号分开的多个值
集合的三大特性:
2.1每一个值都必须是不可变类型
2.2元素不能重复
2.3集合内元素无序
3.常用操作+内置方法
pythons={'李二丫','张金蛋','李银弹','赵铜蛋','张锡蛋','alex','oldboy'} linuxs={'lxx','egon','张金蛋','张锡蛋','alex','陈独秀'} # 取及报名python课程又报名linux课程的学员:交集 print(pythons & linuxs) # print(pythons.intersection(linuxs)) # 取所有报名老男孩课程的学员:并集 print(pythons | linuxs) # print(pythons.union(linuxs)) # 取只报名python课程的学员: 差集 print(pythons - linuxs) # print(pythons.difference(linuxs)) # 取只报名linux课程的学员: 差集 print(linuxs - pythons) # print(linuxs.difference(pythons)) # 取没有同时报名两门课程的学员:对称差集 print(pythons ^ linuxs) # print(pythons.symmetric_difference(linuxs))
是否相等
s1={1,2,3} s2={3,1,2} print(s1 == s2)
父集:一个集合是包含另外一个集合
# 父集:一个集合是包含另外一个集合 s1={1,2,3} s2={1,2} print(s1 >= s2) print(s1.issuperset(s2))
子集
# 子集 s1={1,2,3} s2={1,2} print(s2 <= s1) print(s2.issubset(s1))
需要掌握的操作
1)update有则不变,无则添加
s1={1,2,3} s1.update({3,4,5}) print(s1)
2)删除
pop
s1={1,2,3} res=s1.pop()#无序删除,返回值为删除的值 print(res)
remove
s1={1,2,3} res=s1.remove(3) #单纯的删除,返回值为None print(res,s1)
discard
s1={1,2,3} res=s1.discard(3) ##单纯的删除,返回值为None print(s1) print(res)
remove在移除一个不存在的元素时会报错,但是discard不会报错
3)添加add
s1={1,2,3} s1.add(4) print(s1)
4)diffrence
s1={1,2,3} s2={1,2} s1.difference_update(s2) #s1=s1.difference(s2) print(s1)
5)isdisjoint判断是否有交集
s1={1,2,3} s2={1,2,4} s3={'a','b'} print(s1.isdisjoint(s2)) #如果两个集合没有交集则返回True print(s1.isdisjoint(s3))
该类型总结
1.存多个值
2.无序
3.可变
集合去重的局限性
1)无法保证数据类型的顺序
2)里面的值必须全部是不可变类型
python中各种数据类型的更多相关文章
- python学习第九讲,python中的数据类型,字符串的使用与介绍
目录 python学习第九讲,python中的数据类型,字符串的使用与介绍 一丶字符串 1.字符串的定义 2.字符串的常见操作 3.字符串操作 len count index操作 4.判断空白字符,判 ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- python中基本数据类型以及运算符
python中基本数据类型以及运算符的知识 一.与用户的交互以及python2与python的区别 1.1什么是与用户交互 用户交互就是人往计算机中input(输入数据),计算机print(输出结果) ...
- Python中的数据类型
计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数 ...
- Python中可变数据类型和不可变数据类型
首先,我们需要知道在python中哪些是可变数据类型,哪些是不可变数据类型.可变数据类型:列表list和字典dict:不可变数据类型:整型int.浮点型float.字符串型string和元组tuple ...
- python中的数据类型之元组和字典
一.元组:俗称不可变的列表,又被称为只读列表.元组用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以,但就是不能修改. 注意:如果元组中只有一个元素,一定要加一个逗号,否则 ...
- python中的数据类型和常用运算符
一. python中常见的数据类型 1. 整数:任何时候运算都是精确的 2. 浮点数:运算的时候,可能会有四舍五入 3. 字符串:字符串是以单引号'或双引号"括起来的任意文本 1) 同类型的 ...
- Python中的数据类型和数据结构
一.数据类型 Python中有六个标准数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) 其中,除列表Lis ...
随机推荐
- PHP array_merge 隐藏坑。。
foreach ($list as $k=> $teamGoods){ if($teamGoods['status'] > 4){ $_soldGoods[] = $teamGoods; ...
- gdb 调试main
gdb 调试main带参数 gdb program start a b c//参数为a b c然后从main函数开始 r a b c//参数为a b c来运行程序
- Material Design系列第一篇——Creating Apps with Material Design
Creating Apps with Material Design //创建Material Design的App Material design is a comprehensive guide ...
- 七、K3 WISE 开发插件《Update字段级更新触发器 - BOS单审核后反写源单》
审核成功触发,是一个比较典型的场景.需要用到update触发器,跟踪到审核状态的变化. 引用的源码<采购检验单审核后反写收料通知单>,其中采购检验单是BOS自定义单据. if (objec ...
- Rope整理(可持久化神器)
rope是什么?STL的内置的可持久化的数组.其最为方便的就是可以O1复制原来的数组.事实上rope的内置实现也是平衡树,由于只需要复制根结点,O1可以做到复制历史版本. 然而这个东西常数特大,不开O ...
- CSS属性绘制图形(一)
div部分: <div class="react-logo"> <div class="reactive"></div> & ...
- .net C#中页面之间传值传参的六种方法
1.QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能 ...
- 【CF662C】Binary Table 按位处理
[CF662C]Binary Table 题意:给你一个$n\times m$的01网格,你可以进行任意次操作,每次操作是将一行或一列的数都取反,问你最多可以得到多少个1? $n\le 20,m\le ...
- 【BZOJ4355】Play with sequence 线段树
[BZOJ4355]Play with sequence Description 维护一个长度为N的序列a,现在有三种操作: 1)给出参数U,V,C,将a[U],a[U+1],...,a[V-1],a ...
- vue--父子组件的传值
什么是父子组件? 组件中引入组件,被引入的组件就是子组件.例如在 Hello.vue 组件中引入 Header.vue 组件,那么 Hello.vue 就是父组件,Header.vue就是子组件. 一 ...