Python--数据类型整理
数据类型整理
------------------------------------------------------------------------------------------------
- int 整型
-bit_length 使用方法:用一个int型例如int后的n
n.bit_length()
- to_bytes, 将数字转换成字节类型: 6表示用多少个人字节表示,little/big,用于指定生成字节的顺序
result = val.to_bytes(6,'little')
print(result)
- from_bytes,将字节转换成数字
result = b'\x02\x00\x00\x00\x00\x00'
data = int.from_bytes(result,'little')
print(data)
-------------------------------------------------------------------------------------------------
- bool 布尔类型
-True/False False包括:0 {} [] () None
-------------------------------------------------------------------------------------------------
-str 字符串
-upper 将所有字母大写
使用方法:例如字符串变量
n=abc
n=n.upper()
结果n=ABC
-lower 将所有字母小写
使用方法:例如字符串变量
n=ABC
n=n.upper()
结果n=abc
-strip 去掉数据的所有空格
使用方法:例如字符串变量
n=' ca '
n=n.strip()
结果n='ca'
-split 分割
使用方法: 例如字符串变量
n=‘2+3'
n=n.split('+')
结果[2,3] 加在变量后,括号内字符串形式写分割依据
-replace 替换
使用方法: 例如字符串变量
n='alex'
n = n.replace('x','c')
replace括号内前面字符串形式的被替换内容,后面是替换内容
-join 迭代
使用方法: 例如
li=['a','b','c']
v='+' n=li.split(v)
结果a+b+c,v为要使用的迭代符放在split括号内,前面是迭代列表内容
-capitalize 首字母大写
使用方法: 例如字符串变量
n=alex
n=n.capitalize()
结果n=Alex 首字母大写
-starswith 是否以···为开头
使用方法:例如字符串变量
n=alex
if n.starswith('a'):
print(True)
else: print(False)
结果True ,后面括号内是要确定是否是开头的数值
-endswith 是否以···为结尾
使用方法:上同,不过是结尾
-isdecimal 判断是否是数字
使用方法: 例如字符串变量
n=’9‘
if n.isdecimal():
print(True)
else:
print(False)
结果是True
-encode('utf-8或utf-8') #
使用方法:
n=’name‘
v=n.encode('utf-8')
把字符串转化成字节,括号内是转换的编码型
-find 寻找
使用方法:寻找索引例如
n='alex'
v=n.find('e')
print(v)
结果是2,寻找索引后面括号内要寻找的字符串,寻找不到输出-1
-index 寻找
使用方法同上,不过没寻找到报错
-casefold 将所有字母最小写,同lower()
使用方法,不过包含小语种
lower()只能英语
-count 用于统计某个字符在字符串中出现的次数
使用方法:
n='alel'
v=n.count('l')
print(v)
结果是2出现次数两次 除此外还可以规定范围
规定范围方法
n='alel'
v=n.count('l',0,4)
print(v)
结果是2 如果是n='alel' v=count('l',2,4)print(v) 结果是1
-center 数值在中间向两边填充
name = 'alEalax'
val = name.center(20,'*')
print(val)
结果是******alEalax******* 括号内前面是加上数据的总长度后面是填充内容
-ljust 数值在左向右填充 上同
-rjust 数值在右向左填充 上同
-expandtabs 使\t的数据对其
使用方法:
name = 'IDIDIDID\tName\tPasswword\n1\talex\111\n2\teric\t888'
val = name.expandtabs(50) print(val)括号内是对齐长度,算上数据本身
-format 格式化有四种写法 还有用占位符
name = "我叫{0},年龄{1}-{0}-{0}"
val = name.format('海娇',45)
print(val)
其中{0} format()内第一个数据 可以重复使用 {1}是第二个 依次 name = "我叫{0},年龄{1}-{0}-{0}"
val = name.format(*['海角',45])
print(val)
列表要加* name = "我叫{name},年龄{age}"
dic = {'name':'海角','age':18}
val = name.format(**dic)
print(val) 给定key 也可以重复使用,要用列表要有*一个不行就两个
-format_map 可以不加*用列表字典
-----------------------------------------------------------------------------------------------------
-list 列表
-append 列表末尾添加新的对象
使用方法:
name = [1,2,3,4]
name.append(5)
print(name)
结果是[1,2,3,4,5] 括号内可以是字符串整数,也可以列表等
-insert 向列表指定位置添加对象
使用方法:
name = [1,2,3,4]
name.insert[2,5]
print(name)
结果是[1,2,5,3,4]
-reverse 列表反转
使用方法 :
name = [1,2,3]
name.reverse()
print(name)
结果:[3,2,1]
-count 列表中某个东西出现多少次
使用方法:
name = [1,2,3]
v = name.count(1)
print(v)
结果是1
-extend 扩展 将可迭代的放进去 相当于批量append
使用方法:name = [1,2] name.extend('礼券') print(name) 结果是[1,2,'礼',‘券']
name = [1,2] name.extend(5,6,7) print (name) 结果是[1,2,5,6,7]
-index 找某个值索引位置
使用方法:
name = [1,2,3]
v = name.index(1)
print(v) 结果是:0
-pop 默认删除最后一个可以指定索引删除并且获取到值赋值给变量
使用方法:
name = [1,2,3]
v = name.pop(1)
print(v)
结果是:2 name为 [1,3]
-remove 移除
使用方法:同上,不过不获取移除的值,直接移除。可按照值移除,不按照索引移除。与pop不同,pop按索引,remove按值,重复只删第一个
-sort 排序
使用方法:
name = [3,2,1]
name.sort()
print(name)
结果是:[1,2,3]
默认括号内为(reverse=False),从小到大是(reverse=True)
-copy 深浅拷贝 深拷贝拷贝所有层,浅拷贝只拷贝一层 使用方法:
name = [1,2,3]
name.copy() 浅拷贝
深拷贝:import copy
li = [11,22]
li2 = copy.deepcopy(li)
-clear 清除 使用方法:name.clear() 列表内内容全部清除
-----------------------------------------------------------------------------------------------------
-dict 字典
-clear 上同列表
-copy 上同列表
-fromkeys 通过类就可以"."出来的功能,能生成字典
# val = dict.fromkeys(['k1','k2','k3'],666)
# print(val)
# val['k1'] = 999
结果:{'k1': 666, 'k2': 666, 'k3': 666} # val = dict.fromkeys(['k1','k2','k3'],[])
# val['k1'].append(678)
# val['k2'].append(999)
# print(val)
结果是:{'k1': [678, 999], 'k2': [678, 999], 'k3': [678, 999]} # val = dict.fromkeys(['k1','k2','k3'],[])
# val['k1'].append(666)
# val['k1'] = [1,2,3]
# print(val)
结果是:{'k1': [1, 2, 3], 'k2': [666], 'k3': [666]} -get
获取索引值
使用方法:
name.get()
括号内第一个可以索引值 ,第二个默认值
-pop 同列表
-items 所有键值对
-keys 所有的key
-popitem pop中指定了key popitem出来的值是元素类型 也可以取两个值
-setdefault 添加 列表中有的就不修改,没有就添加
-update 更新
# dic = {'k1':'v1','k2':'v2'} # dict类的一个对象
# dic.update({'k4':'v4','k2':'v5'})
# print(dic)
结果:{'k1': 'v1', 'k2': 'v5', 'k4': 'v4'}
--------------------------------------------------------------------------------------------------
-set(集合)
# names = {'龙哥','海角','老狗','成绩','小江','小高'}
# names.add('龙哥')
# print(names)
又加一次'龙哥'也不会出现,集合不可以重复
#2. 差集
# names = {'龙哥','海角','老狗','成绩','小江','小高'}
# boys = ['小高','海娇','小狗']
# val = names.difference(boys) # names中存在,boys中不存在数据
# print(val)
输出的val是boy中不存在的数据
# val = boys.difference(names) # boys中存在,names中不存在数据
# print(val)
输出的val是names中不存在的数据
# boys.difference_update(names) # boys中存在,names中不存在数据
# print(boys)
输出的boys中的names中不存在的数据
# names.difference_update(boys) # boys中存在,boys中不存在数据
# print(names)
输出的names
# 3. 对称差集
# names = {'龙哥','海角','老狗','成绩','小江','小高'}
# boys = {'小高','海娇','小狗'}
# {'龙哥','海角','老狗','成绩','小江'}
# {'海娇','小狗'}
# {'海娇','小狗','龙哥','海角','老狗','成绩','小江'}
# val = names.symmetric_difference(boys)
# print(val)
把同样的去掉,输出的是两个互相不相同的
# names.symmetric_difference_update(boys)
# print(names)
同上
# 4. 在集合中删除指定值
# names = {'龙哥','海角','老狗','成绩','小江','小高'}
# names.discard('龙哥')
# print(names)
集合中删除指定值的使用
# 5. 求交集
# names = {'龙哥','海角','老狗','成绩','小江','小高'}
# boys = {'小高','海娇','小狗'}
#
# val = names.intersection(boys)
# print(val)
#求交集,输出两个都有的
# names.intersection_update(boys) 更新了前面的,对name重新赋值了
# print(names)
同上
# 6. 并集
# names = {'龙哥','海角','老狗','成绩','小江','小高'}
# boys = {'小高','海娇','小狗'}
#
# val = names.union(boys)
# print(val)
两个都有的都输出
# 7.判断是否无交集
# names = {'龙哥','海角','老狗','成绩','小江','小高'}
# boys = {'海娇','小狗'}
# # 有交集:False
# # 无交集:True
# val = names.isdisjoint(boys)
# print(val) # 8. 子集父集
# names = {'龙哥','海角','老狗','成绩','小江','小高'}
# boys = {'龙哥','老狗'}
# # 是否是子集
# val = boys.issubset(names)
# print(val)
# # 是否是父集
# val = names.issuperset(boys)
# print(val) # 9. 删除集合元素
# names = {'龙哥','海角','老狗','成绩','小江','小高'}
# v = names.pop()
# print(v) # names.remove('老狗')
# print(names)
# names.discard('老狗1')
# print(names) # 10. 更新
# names = {'龙哥','海角','老狗','成绩','小江','小高'}
# boys = ['龙哥1','老狗1']
#
# names.update(boys)
# print(names) # 集合
- 元素,不可变
name = {1,'alex'}
name = {1,'alex',[11,22,33]}
name = {1,'alex',{''}}
name = {1,'alex',()}
name = {1,'alex',{'1','2'}}

Python--数据类型整理的更多相关文章
- python数据类型整理
Python中常见的数据结构可以统称为容器(container).序列(如列表和元组).映射(如字典)以及集合(set)是三类主要的容器. 一.序列(列表.元组和字符串) 序列中的每个元素都有自己的编 ...
- Python数据类型方法整理
前言:主要是对Python数据类型做一个整理,部分知识点源于<python3程序开发指南(第二版)> 一.Python的关键要素 1.1 要素1:数据类型 int类型 str类型 ...
- python数据类型知识整理
python数据类型种类 int数字.bool布尔值.dict字典.tunple元组.set集合.list列表.字符串 int数字 #常用来进制转换 num = 11 #转化成2进制 bin_num ...
- python 数据类型---布尔型& 字符串
python数据类型-----布尔型 真或假=>1或0 >>> 1==True True >>> 0==False True python 数据类型----- ...
- Python 数据类型及其用法
本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...
- day01-day04总结- Python 数据类型及其用法
Python 数据类型及其用法: 本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点 ...
- Python数据类型及其方法详解
Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...
- Python学习笔记(五)--Python数据类型-数字及字符串
Python数据类型:123和'123'一样吗?>>> 123=='123'False>>> type(123)<type 'int'>>> ...
- python数据类型之元组、字典、集合
python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...
- 1 Python数据类型--
常见的Python数据类型: (1)数值类型:就是平时处理的数字(整数.浮点数) (2)序列类型:有一系列的对象并排或者排列的情况.如字符串(str),列表(list),元组(tuple)等 (3)集 ...
随机推荐
- Welcome-to-Swift-04集合类型(Collection Types)
Swift提供了两种集合类型来存放多个值——数组(Array)和字典(Dictionary).数组把相同类型的值存放在一个有序链表里.字典把相同类型的值存放在一个无序集合里,这些值可以通过唯一标识符( ...
- Hadoop High Availability
Hadoop High Availability HA(High Available), 高可用,是保证业务连续性的有效解决方案, 通常通过设置备用节点的方式实现; 一般分为执行业务的称为活动节点(A ...
- mybatis学习(十一)——springmvc++spring+mybatis整合
做任何一个项目都以一个需求,这里先定义一下需求:利用三大框架查询酒店列表. 一.搭建开发环境 1.创建一个web项目 我这里用的是 jdk1.8+tomact7.0 2.创建hotel表 CREATE ...
- linux上部署thinkphp5提示500
解决方法一:LNMP 1.4上也可以直接使用lnmp1.4/tools/ 目录下的 ./remove_open_basedir_restriction.sh,输入网站的全路径(如/www/wwwroo ...
- 排列计数(bzoj 4517)
Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是 ...
- 怎样抓获或忽略像control-C这样的键盘中断?
基本步骤是调用signal():#include <signal.h>singal(SIGINT, SIG_IGN); 就可以忽略中断信号, 或者:extern void func(int ...
- Codevs 数字三角形 问题合集
1220 数字三角形 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或得 ...
- 利用github搭建个人网站
1.注册一个github https://github.com/ 2.新建一个仓库 仓库名 用 Owner.github.io 的格式,然后点击创建 3.源码上传至github 安装github桌 ...
- IntelliJ IDEA ,springboot 2.0 +mybatis 创建和访问数据库
环境: JDK8+windows10 步骤 New Module —>Spring Initializr—>next 1 2. 3.web勾选web,sql里面可以不勾,后续添加, ...
- Play框架连接Mysql遇到的一些问题
最近,在基于Play框架的项目中需要连接Mysql数据库.在这个过程中遇到了一些问题.在此,把它记录下来. 首先,Play框架和Mysql连接有两种方式,这两种方式都是在application.con ...