数据类型

不可变数据(四个):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基础数据类型以及对应方法的更多相关文章

  1. Python 入门之Python基础数据类型及其方法

    Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...

  2. Python基础数据类型-列表(list)和元组(tuple)和集合(set)

    Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...

  3. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  4. python基础数据类型考试题

    Python基础数据类型考试题 考试时间:两个半小时                      满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...

  5. python 基础数据类型之list

    python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...

  6. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

  7. Python基础数据类型题

    Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...

  8. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...

  9. Python基础数据类型之集合

    Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...

随机推荐

  1. Dimension reduction

    materials: 1. Dimension Reduction - IsoMap

  2. Laravel 中使用 Laravel-Excel 美化

    <?php use Maatwebsite\Excel\Classes\LaravelExcelWorksheet; use Maatwebsite\Excel\Exceptions\Larav ...

  3. please execute the cleanup command

    解决方法: (1)用dos命令进入项目文件夹,运行svn cleanup:不要直接右键点击找cleanup选项 (2)到上一层目录去cleanup试下,或者到.svn文件夹下(隐藏的)找到所有的loc ...

  4. UES

    Spring-core-4.3.16 ObjectUtils.java public static boolean isEmpty(Object obj) { if (obj == null) { r ...

  5. Jquery动态改变my97datepicker的日期形式

    先要解绑触发事件: $('#start').unbind('focus'); 然后再绑定触发事件: $('#start').bind('focus',function(){WdatePicker({s ...

  6. LED Decorative Light Manufacturer - LED Neon Rope: 5 Advantages

    In the past 100 years, lighting has come a long way. Nowadays, the decorative LED lighting design ca ...

  7. Eqaulize Prices

    There are n products in the shop. The price of the ii-th product is aiai. The owner of the shop want ...

  8. linux下删除空行的几种方法

    在查看linux下的配置文件时,为了便于一目了然的查看,经常会删除空行和#头的行.而linux在删除空行的方法很多,grep.sed.awk.tr等工具都能实现.现总结如下: 1.grep grep ...

  9. Django项目报错: 禁止访问(403),CSRF验证失败,相应中断

    如果想要取消表单的CSRF防护,可以在模板上删除{% csrf_token %}, 并且在相应的视图函数中添加装饰器@csrf_exempt, 代码如下: from django.views.deco ...

  10. C语言数据结构——第二章 线性表

    二.线性表 2.1-线性表简介 2.1.1-线性表的定义 线性表是由若干个相同特性的数据元素组成的有限序列.若该线性表不包含任何元素,则称为空表,此时长度为0,当线性表不为空时,表中的元素的个数就是线 ...