续昨天:

列表的常用方法:

  1.chear()

  用途:清空列表,其返回值无,返回none。

  1. list1=[1,2,3,4,5]
  2. a=list1.clear()
  3. print(list1)
  4. print(a)
  5. #输出结果>>>[]
  6. # None

  2.reverse()

  用途:将列表反转。

  1. list1=[1,2,3,4,5]
  2. list1.reverse()
  3. print(list1)
  4. #输出结果>>>[5, 4, 3, 2, 1]

  3.sort()

  用途:在默认情况下,从小到大排序。当改变函数参数为reverse=true时,会从大到小排序。

  1. l1 = [43,6,1,7,99]
  2. l1.sort(reverse=True)
  3. print(l1)
  4. l1.sort()
  5. print(l1)
  6. #输出结果>>>[99, 43, 7, 6, 1]
  7. #[1, 6, 7, 43, 99]

  4.队列

  队列是数据类型的一种,其显著特点是先进先出,这里用列表实现其数据存储模式

  1. l1 = []
  2. # 先进
  3. l1.append('first')
  4. l1.append('second')
  5. l1.append('third')
  6. # 先出
  7. print(l1.pop(0))
  8. print(l1.pop(0))
  9. print(l1.pop(0))
  10. #输出结果>>>first
  11. #second
  12. #third

  5.栈

  栈的存储方式是先进后出,它与队列相反

  1. # 先进
  2. l1.append('first')
  3. l1.append('second')
  4. l1.append('third')
  5. # 后出
  6. print(l1.pop())
  7. print(l1.pop())
  8. print(l1.pop())
  9. #输出结果>>>third
  10. #second
  11. #first

二.元组(tuple)

  用途:元组能够存储多个数据类型和多个数据,它们之间需要用逗号隔开,由于它在定义单个元素时容易与整型搞混,所以在定义时需要在后面加逗号。

  1. a=tuple((1))

  当执行以上代码时,结果会报错,是因为(1)既可以是元组,也可以是带有括号的整型1,而系统默认的是后者,所以在定义任何单个的元组时,需要加上逗号区分

  1. a=tuple((1,))
  2. print(type(a))
  3. #输出结果>>><class 'tuple'>

  元组与其他数据类型不同的时元组不支持改变,即不可删除与添加元素,而且它时不可变数据类型。

  1.索引

  1. tuple1=(1,2,3,4,5,6)
  2. for i in range(0,6):
  3. print(tuple1[i])
  4. #输出结果>>>1 2 3 4 5 6

  2.切片

  1. tuple1=(1,2,3,4,5,6)
  2. tuple2=tuple1[0:4:2]
  3. tuple3=tuple1[0:4]
  4. print(tuple2,tuple3)
  5. #输出结果>>>(1, 3) (1, 2, 3, 4)

  3.长度

  1. tuple1=(1,2,3,4,5,6)
  2. print(len(tuple1))
  3. #输出结果>>>6

  4.成员运算

  1. tuple1=(1,2,3,4,5,6)
  2. print(1 in tuple1)
  3. print(7 in tuple1)
  4. #输出结果>>>True
  5. #False

  5.循环

  1. tuple1=(1,2,3,4,5,6)
  2. for i in tuple1:
  3. print(i)
  4. #输出结果>>>1,2,3,4,5,6

  一些内置方法

  1.count

  用途:输出其中的元素在元组中有多少个。

  1. tuple1=(1,2,3,4,5,6)
  2. print(tuple1.count(2))
  3. #输出结果>>>1

  2.index

  用途:检索某个值在元组中的位置,返还其位置信息,若没有这个值则报错。

  1. tuple1=(1,2,3,4,100,6)
  2. print(tuple1.index(100))
  3. #输出结果>>>4

三.字典

  作用:能存储多组key:value键值对

  key是对value的描述

  key只能是不可变类型。

  value可以是任何数据类型。

  定义:

  在定义是key值不能是重复的,如果重复定义会将前面的覆盖。(*******)

  1. d2 = {'name':'jason','name':'tank','name':'nick','password':123}
  2. #输出结果>>>{'name': 'nick', 'password': 123}

  定义方法3

  1. l = [
  2. ['name','jason'],
  3. ['age',18],
  4. ['hobby','read']
  5. ]
  6. d3 = dict(l)

  优先掌握操作

  1.按key取值,可存可取

  1. d3 = {'name':'jason','password':''}
  2. print(d3['name'])
  3. d3['name']='egon'
  4. print(d3['name'])
  5. #输出结果>>>jason
  6. #egon

  当键值不存在时,会将其作为新的键值添加。(*********)

  1. d3 = {'name':'jason','password':''}
  2. d3['age']=123
  3. print(d3)
  4. #输出结果>>>
  5. #{'name': 'jason', 'password': '123', 'age': 123}

  2.len()取出长度

  1. d3 = {'name':'jason','password':''}
  2. print(len(d3))
  3. #输出结果>>>2

  3.成员运算in,not in

  判断字典中是否有某个key值,这里只能判断有没有key值,不能判断有没有value

  1. d3 = {'name':'jason','password':''}
  2. print('jason' in d3)
  3. print('name' in d3)
  4. #输出结果>>>False
  5. #True

  4.删除

  1.可以直接引用del

  2.可以用pop()弹出,但弹出的值仅仅是value

  3.可以pop()中传出的key值没有找到,则会报错

  1. d3 = {'name':'jason','password':''}
  2. res=d3.pop('name')
  3. print(res)
  4. res1=d3.pop('age')#报错
  5. #输出结果>>>jason

   4.keys(),values(),item()

  1. d3 = {'name':'jason','password':''}
  2. print(d3.keys(),type(d3.keys()))
  3. print(d3.values(),type(d3.values()))
  4. print(d3.items(),type(d3.items()))
  5. #输出结果>>>
  6. #dict_keys(['name', 'password']) <class 'dict_keys'>
  7. #dict_values(['jason', '123']) <class 'dict_values'>
  8. #dict_items([('name', 'jason'), ('password', '123')]) <class 'dict_items'>

  keys(),代表的是将字典中的数据以dict_keys数据类型取出其所有key值。

  values(),代表将字典中的数据以dict_values的数据类型取出其所有的value值。

  items(),代表的是将字典转化成列表加元组的形式,即dict_items的数据类型。

  5.get()

  用途:根据key值取value值(*****)

  当get函数没有找到所输入的key值的value值时,会返回none值,

  get可以设置第二参数,其代表当key没有找到时会返回第二个参数的信息。

  1. d3 = {'name':'jason','password':''}
  2. print(d3.get('name'))
  3. print(d3.get('age'))
  4. a=d3.get('age',['qwe','qwe'])
  5. print(a)
  6. #输出结果>>>jason
  7. #None
  8. #['qwe', 'qwe']

  其中第二参数中的值可以是任意类型的数据。

  6.dict.fromkeys(,)

  用途:可以快速创建一个字典。

  1. a=dict.fromkeys(['wo','ni','ta'],11)
  2. print(a)
  3. #输出结果>>>{'wo': 11, 'ni': 11, 'ta': 11}

  可以看到使用dict.fromkeys(),创造出来的字典它的值都是第二参数所设的值,第一参数必须是列表。

  7.dict.popitem()

  用途:在尾部以元组的形式弹出一对键值对。

  1. d1 = {'name':'jason','pwd':123}
  2. print(d1.popitem()) # 尾部以元组的形式弹出键值对
  3. print(type(d1.popitem()))
  4. #输出结果>>>('pwd', 123)
  5. #<class 'tuple'>

  8.setdeflult()

  用途:检索第一参数的key值,如果有,则输出其value值,如果没有,则将key:value添加至字典中,并返还其value值。

  1. d1 = {'name':'jason','pwd':123}
  2. res1=d1.setdefault('name','egon')
  3. print(res1)
  4. res2=d1.setdefault('age','')
  5. print(res2)
  6. #输出结果>>>jason
  7. #

  9.update()

  用途:update(),就是将其参数更新到字典中(根据其key值),如果字典有,则更新其值,如果字典没有,将其作为新的元素添加进去。

  1. d1 = {'name':'jason','pwd':123}
  2. d2 = {"age":18}
  3. d1.update(d2)
  4. print(d1)
  5. d1.update(age=666)
  6. print(d1)
  7. d1.update(pwd='sadsad')
  8. print(d1)
  9. #输出结果>>>
  10. #{'name': 'jason', 'pwd': 123, 'age': 18}
  11. #{'name': 'jason', 'pwd': 123, 'age': 666}
  12. #{'name': 'jason', 'pwd': 'sadsad', 'age': 666}

四。集合(set)

  用途:1.可用于关系运算。

      2.去重。

  在空集合的定义中,只能使用s=set()方法定义,如果使用{}定义的话会被系统识别为字典。

  1. s1 = set()
  2. print(type(s1)) # 注意在定义空集合的只能用关键字set
  3. s2={}
  4. print(type(s2))
  5. #输出结果>>><class 'set'>
  6. #<class 'dict'>

  集合的三个原则:

  1.每个元素必须是不可变类型。

  2.没有重复的元素。如果有则会将其合并成一个。

  3.无序。不可以用索引定位。

  优先掌握的操作

  1.长度len()

  2.成员运算in not in

  1. pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
  2. linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
  3. print(len(pythons))
  4. print('jason' in pythons)
  5. print('abc' not in pythons)
  6. #输出结果>>>7
  7. #True
  8. #True

  3.&:输出两个集合之间的交集

  1. pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
  2. linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
  3. print(pythons&linux)
  4. #输出结果>>>{'egon', 'tank', 'alex'}

  4.‘-’从a交集中移除既在a又在b的。

  1. pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
  2. linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
  3. print(pythons-linux)
  4. #输出结果>>>{'nick', 'kevin', 'jason', 'owen'}

  5.‘^’没有同时在两个集合里的

  1. pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
  2. linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
  3. print(pythons^linux)
  4. #输出结果>>>{'jerry', 'owen', 'kevin', 'jason', 'nick', 'frank'}

  6.”|“两个集合之间的所有值

  1. pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
  2. linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
  3. print(pythons|linux)
  4. #输出结果>>>{'jerry', 'tank', 'egon', 'jason', 'alex', 'kevin', 'owen', 'frank', 'nick'}

  7”==“判断两个集合是否相等(无序判断)

  1. pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
  2. linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
  3. print(pythons==linux)
  4. #输出结果>>>False

  8.”>“,">="父集,a>b,判断a是否为b的父集(等同于issubset())

  1. pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
  2. linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
  3. linux2={'jason', 'nick', 'tank'}
  4. print(pythons>linux2)
  5. print(pythons>=linux)
  6. #输出结果>>>True
  7. #False

  9.”<“,”<=“,a<b,a是否为b的子集(等同于issuperset())

  1. pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
  2. linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
  3. linux2={'jason', 'nick', 'tank'}
  4. print(linux<pythons)
  5. print(linux2<pythons)
  6. #输出结果>>>False
  7. #True

  10.add()添加一个元素进入集合。

  1. set1={1,2,3,4,5,6,7}
  2. set1.add(9)
  3. print(set1)
  4. set1.add(1)
  5. print(set1)
  6. #输出结果>>>{1, 2, 3, 4, 5, 6, 7, 9}
  7. #{1, 2, 3, 4, 5, 6, 7, 9}

  11.remove(),删除某个元素。

  1. set1={1,2,3,4,5,6,7}
  2. set1.remove(1)
  3. print(set1)
  4. #输出结果>>>{2, 3, 4, 5, 6, 7}

  如果元素不存在,则报错

  12.discard(),删除某个元素

  1. set1={1,2,3,4,5,6,7}
  2. set1.discard(1)
  3. print(set1)
  4. set1.discard(1)
  5. print(set1)
  6. #输出结果>>>{2, 3, 4, 5, 6, 7}
  7. #{2, 3, 4, 5, 6, 7}

  如果删除的元素不存在,则不会报错。

总结  

  一共有以下几种数据类型

  整型(int),浮点型(float),字符串(str),布尔(bool),列表(list),元组(tuple),字典(dist),集合(set)

  就其能存储的值的个数,可变与不可变性能,有序无序进行总结

day6_7.4总结数据类型的可变不可变的更多相关文章

  1. Python--基本数据类型(可变/不可变类型)

    目录 Python--基本数据类型 1.整型 int 2.浮点型 float 3.字符串 str 字符串格式 字符串嵌套 4.列表 list 列表元素的下标位置 索引和切片:字符串,列表常用 5.字典 ...

  2. python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变

    函数参数传递本质上和变量整体复制一样,只是两个变量分别为形参a和实参b.那么,a=b后,a变了,b值是否跟着变呢?这取决于对象内容可变不可变 首先解释一下,什么是python对象的内容可变不可变? p ...

  3. Python(可变/不可变类型,list,tuple,dict,set)

    补充:(可用操作技巧) >>> x=900 >>> y=900 >>> x==y True >>> type(x) is typ ...

  4. 005 python 整数类型/字符串类型/列表类型/可变/不可变

    可变/不可变类型 可变类型 ID不变的情况下,值改变,则称之为可变类型,如列表,字典 不可变类型 值改变,ID改变,则称之为不可变类型,如 整数 字符串,元组 整数类型 int 正整数 用途就是记录年 ...

  5. [Python] 可变/不可变类型 & 参数传递

    与c/c++不同,Python/Java中的变量都是引用类型,没有值类型 Python赋值语句由三部分构成,例如:   int   a  = 1 类型 标识 值 标识(identity):用于唯一标识 ...

  6. Java可变参数/可变长参数

    Java可变参数/可变长参数 传递的参数不确定长度,是变长的参数,例如小例子: package demo; public class Demo { public static int sum(int ...

  7. day06 可变不可变类型

    1.可变不可变类型 可变类型 定义:值改变,id不变,改的是原值 不可变类型 定义:值改变,id也变了,证明是产生了新的值没有改变原值 验证 x = 10 print(id(x)) x = 11 pr ...

  8. python 数据类型(元组(不可变列表),字符串

    元组(不可变列表) 创建元组: ages = (11, 22, 33, 44, 55) 或 ages = tuple((11, 22, 33, 44, 55)) 一般情况下是不需要被人该的数值才使用元 ...

  9. Day 05 可变不可变、数据类型内置方法

    1.可变类型:值改变,但是id不变,证明就是改变原值,是可变类型 2.不可变类型:值改变,但是id也跟着改变,证明是产生新的值,是不可变类型 数字类型 一.整型int 1.用途:记录年龄.等级.数量 ...

随机推荐

  1. React、Vue、Angular对比 ---- 介绍及优缺点

    React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站, 并于 2013年 5 月开源.React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它.它 ...

  2. C# git忽略文件 (.gitignore )

    # Visual Studio # User-specific files *.suo *.user *.userosscache *.sln.docstates # User-specific fi ...

  3. 第04组 Alpha冲刺(4/6)

    队名:new game 组长博客:戳 作业博客:戳 组员情况 鲍子涵(队长) 燃尽图 过去两天完成了哪些任务 才两天,也就是实现一些功能而已 复习 接下来的计划 实现更多的功能 为这周的比赛准备 还剩 ...

  4. Win10 企业版ltsc 无法访问samba网络共享问题及解决!(转)

    1.本地安全策略,本地策略-安全选项,需要修改成默认的值的修改方式:查找注册表浏览到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA直接 ...

  5. 在Ubuntu18.04.2LTS上遇到的问题汇总

    在Ubuntu18.04.2LTS上遇到的问题汇总 一.前言   在新版的Ubuntu上在桌面右键没有新建文档的按钮着实让人难以接受,其实只要稍微理解就能明白设计者的良苦用心,因为这样便于扩展性和自定 ...

  6. git push时出现 Username for 'https://github.com': 仅仅限于github

    使用git push origin master是出现如下问题:Username for 'https://github.com': 解决办法: git remote set-url origin g ...

  7. VBA基础 - 数据类型

    概要 学习一种新语言, 数据类型和关键字是第一步. 数据类型 常用的数据类型如下: 类型 存储空间 范围 Boolean 2 bytes True 或者 False Byte 1 byte 0 ~ 2 ...

  8. 【08月20日】A股滚动市净率PB历史新低排名

    2010年01月01日 到 2019年08月20日 之间,滚动市净率历史新低排名. 上市三年以上的公司,2019年08月20日市净率在30以下的公司. 来源:A股滚动市净率(PB)历史新低排名. 1 ...

  9. Python连载33-共享变量加锁、释放

    一.共享变量 共享变量:当多个线程访问同一个变量的时候.会产生共享变量的问题. 例子: import threading sum = 0 loopSum = 1000000 def myAdd(): ...

  10. eclipse激活jrebel

    1.原本jrebel已经激活了,某天突然失效了.报错如下: JRebel: ERROR Failed to obtain seat. Unable to connect to license serv ...