Python基础数据类型以及对应方法
数据类型
不可变数据(四个):Number(数字)、String(字符串)、Tuple(元组)、Sets(集合);可哈希
可变数据(两个):List(列表)、Dictionary(字典)。不可哈希
字符串,列表,元祖的索引与切片
索引:例如
str='abcdefg'
str[0]='a'
str[-1]='g'
切片:例如
str='abcdefg'
str[0:4]='abcd' #切片:顾首不顾尾
str[:-1]='abcdef'
str[:]='abcdefg'
str[::2]='aceg'
str[::-1]='gfedcba' #str[首:尾:步长]
公共方法
len();#计算str包含多少字符,list多少元素,dict多少键值对,Tuple多少元素。
.count();#查找字符,元素的出现次数。
type();#判断数据类型,()中输入需要判断的数据。
str常用操作方法
str.capitalize();#字符串首字母大写。
str.upper() ; #字母全部大写。
str.lower();#字母全部小写。
str.isupper();#是否字母全大写。
str.islower();#是否字母全小写。
str.swapcase();#字母大小写反转。
str.title();#字母标题化 每个隔开(特殊字符或数字)的单词首字母大写。
str.center();#字符居中 需要填入参数 width(宽度) 默认fillchar(填充物)为None,可以自己设置填充物。
str.expandtabs();#与Tab(\t)使用 补充位数。
str.startswith();#检测字符串是否以'什么'为开头,返还True,False。
str.endwith();#检测字符串是否以'什么'为结尾,返还Ture,false。
str.find(); #查找字符串中的元素,返回此元素的下标(索引),找不到返还-1,可切片规定寻找范围。
str.index(); #str.find()类似,如果找不到会报错*
str.strip();#去除前后的空格 如果要去除前面的空格使用str.lstrip(),去除后面的空格使用str.fstrip()。str.strip('需要删除的元素')默认为空格可以更改。
str.split();#str.split('拆分的字符',num)进行拆分把一个字符串转化为一个列表,被拆分的内容不存在。如果设置了num 则切分成num+1次(str>>>list)*
str.rsplit(); # 从右往左分 默认split是从左往右分
str.replace();#替换 str.replace('替换内容','新的内容',次数(默认为全部替换))。
str.isalnum();#字符串是否由数字或字母组成。
str.isalpha();#字符串只由字母组成。
str.isdigit();#字符串只由数字组成。
str.isspace();#字符串只由空格组成。
int常用操作方法
int.bit_length();#把数字转化为二进制最小的位数。
list列表—[]的增删改查
增:
list.append();#在原有列表的基础上在末尾增加元素;直接打印无返还值。
list.insert();#在列表中指定位置插入元素,需要输入两个参数插入的位置和需要插入的内容
list.extend();#迭代增加,()中必须是可迭代对象,增加内容为最小元素。
删:
list.pop();#按索引删除,如果不加索引默认删除最后一个;有返回值 返回删除的值。
list.remove();#按元素去删,无返回值。
list.clear();#清空列表。
del();#删除列表,也可以切片删除部分。
改:
list['需要更改内容的索引']='要更改的内容'#直接通过索引去改;
list.['需要更换切片的内容']='需要更改的内容'(增加的list中以最小元素拆分放入),#先将你需要替换的内容拿出来在放入你需要更改的内容,你需要更改的内容以最小元素分开放入列表中。
查:
list.[索引或切片];#利用索引和切片查找元素。
for i in list:
print(i)#查列表中所有的元素打印出来。
list.index('元素');#通过元素找索引。
排序:
list.sort(cmp=None, key=None, reverse=False)
cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)
list.reverse();#列表的反转。
list补充:
去除多余嵌套的列表(迭代)
def f(x):
ret=[]
for b in x:
if isinstance(b,list):
for a in f(b):
ret.append(a)
else:
ret.append(b)
return ret
元祖type-()
元祖 只读列表,可循环查询,可切片,如果里面嵌套可修改内容,可以更改嵌套里可修改的内容。
(连接对象str).join(可迭代对象);# 将可迭代对象每一个都加上连接对象成为一个新的字符串,可以将可迭代对象转化为字符串。(list;tuple>>>str)*************
range();#生成数列(起始值(如果是0可以省略),终止值(不包括本身),步长(默认为0))。
元祖 如果元祖里面只有一个元素且不加,那此元素是什么类型,就是什么类型。
字典dict-{}的增删改查
dict(映射类型,键值对)
dict key(键必须是不可变数据类型) 可哈希
dict 优点:
1.二分查找去查询。
2.存储大量的关系型数据。
3.无序的(python3.5前)。
增:
dict['键'] =值 # 如果dict中没有此键,就添加,如果有键,就覆盖。
dict.setdefault() # ('键','值,(值如果不写默认为None)')如果dict中有此键则不执行任何操作不做任何改变。
dict.formkeys(seq,'value(不填默认为None))');# Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值
删:
dict.pop('键') # 直接按照键去删除,有返回值,返回的是键值对的值,如果dict中没有此键,则会报错(解决方法:dict.pop('键','提示字符')如果加了提示字符在dict中没有此件时返回你输入的提示字符)。
dict.popitem() # 随机删除(python3.5之前没有排序随机删除python3.6后有排序删除最后一个键值对),有返回值,返回的是键值对。
dict.clear() # 清空dict。
dict.del() # 删除整个dict,如果('键')删除键值对,如果dict中没有此键则会报错,无返回值。
del dict["key"] # 删除此键值对
改:
dict['键'] =值 # 输入以有的键赋给新值就是更改键值对。
dict2.update(dict) # 把dict所有的键值对更新到dict2中,原dict无变化。
查:
dict['键'];# 查找dict的对应的值
dict.keys();# dict中的键,放在一个列表中。
dict.values();# dict中的值,放在一个列表中。
dict.items();# dict中的键值,在一个列表中,但键值放在一个元祖中隔开。
dict.get();# dict.get('查找的内容','提示字符') 如果没有此键返回提示字符。
sorted();# sorted('dict.keys;dict.values;dict.items')返回一个新的list,不在原函数更改;list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
dict.setdefault();# Python 字典 setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值。(也有增的功能)
补充:
在循环列表和字典中 不要直接删除原列表和字典中的内容,达不到相应的要求容易报错。
集合set-{}的增删改差
set集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。set1=set({1,2,3});set1={1,2,3}。
增
set.add('需要添加的内容');# 直接添加。(集合是无序的 随机添加到位置)
set.update(需要添加的内容);# 迭代增加 把需要添加的内容化为最小元素分开放入集合中。(集合是无序的 随机添加到位置)
删
set.pop();# 随机删除 ,有返回值。
set.remove();# 按照元素删除,如果没有会报错。
set.clear();# 清空集合 表现方式为set()。
set.del();# 删除整个集合。
改
# 因为set中元素不可变所以不能更改
查
for i in set:print(i);
计算
交集:'&' 或者使用 set1.intersection(set2);
并集:'|'或者使用 set1.union(set2);
反交集:'^'或者使用 set1.symmetruc.difference(set2);
差集:'-'或者使用 set1.difference(set2);#set1独有的set2没有的拿出来;
子集:'<'或者使用ste1.issubset(set2);#说明ste1是set2的子集;返回布尔值;
超集:'>'或者使用ste1.issuperset(set2);#说明ste1是ste2的超级;返回布尔值;
类型转换
list>>>set
set = ste(list)
set>>>list
list=list(set)
转化不可变数据类型
frozenset();# frozenset() 返回一个冻结的集合,冻结后集合只能查看不能再添加或删除任何元素.比如列表、字典、元组等等
分类 数字,字符串 小数据池(地址)
# 数字的范围 -5 -- 256 如果数字范围在此,创建多个变量都等于他,用的地址是一样的。
# 字符串:
1.不能含有特殊字符;(如果字符串中包含特殊字符,不管多长多段都不会共用一个)。
2. S*20 还是同一个地址,S*21以后都是两个地址。(S为一个字节)
# 除了数字与字符串 没有 小数据池的概念。
Python基础数据类型以及对应方法的更多相关文章
- Python 入门之Python基础数据类型及其方法
Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- python基础数据类型考试题
Python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...
- python 基础数据类型之list
python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- Python基础数据类型题
Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...
- Python基础数据类型之字符串
Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...
- Python基础数据类型之集合
Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...
随机推荐
- C# 后台调用http,post访问url,获取数据
1.封装post方法发送 using System; using System.Collections.Generic; using System.IO; using System.Linq; usi ...
- 数据库 oracle 函数
static OracleConnection mQracleConnecting = null; public static OracleConnection QracleConnecting { ...
- 剑指offer 面试题 删除链表中重复的节点
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...
- CBE引擎概览
摘录于CBE官方文档:https://www.comblockengine.com/docs/1.0/overview/index/ 架构图总览: Switch Fabric:交换机网络,根据网络环境 ...
- os 和shutil模块的使用方法
1.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...
- Python_包
包 包是一种通过使用‘.模块名’来组织python模块名称空间的方式. 1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警 ...
- UIgradients – 美丽的UI渐变色分享站 并可转成CSS代码
前期我们分享了「如何使用彩色滤镜创造奇妙的网页设计」这篇文章,通过渐变彩色滤镜实现很多漂亮的效果,然而用什么渐变颜色才好呢?可以看看今天为大家分享的 UIgradients 渐变色分享网站,里面有很多 ...
- 2.8 (显示、隐式、线程休眠) selenium 等待方式 ❀
http://blog.csdn.net/pf20050904/article/details/20052485 http://www.cnblogs.com/hellokitty1/p/629584 ...
- 编写自定义的django-admin命令
先写标题内容后续补充上 官方文档如下 :http://python.usyiyi.cn/documents/django_182/howto/custom-management-commands.ht ...
- 使用c#做前台页面
1.有很多组件,组件右属性,事件 2.在table中,操作用的是图片 3.打开dialog时,其他窗体不能使用 4.在子窗体编辑完,对后台操作后,在父窗体加载一下数据