列表,简单说就是用[]括起来的一大堆数据,这些数据我们叫做元素,元素与元素之间用","隔开,这些元素可以是数字,布尔值,字符串,列表等等,基本所有的数据类型都可以放在列表里边,同时这些元素是可以修改的。

  例如:

   #假如我们有这么一个列表
   l = ["jasonhy",[12,False],45,True]
   #删除索引1的元素
   del l[1]
   print(l)
      #再次输出列表l的结果为:
      ['jasonhy', 45, True]
  #将一个字符串变成一个列表
  print(list("jasonhy"))
      输出结果是:
         ['j', 'a', 's', 'o', 'n', 'h', 'y']

    功能一:将列表转换成字符串

   #假如有一个列表既有字符串又有数字,那么这个时候想将列表转换成字符串就只能依次的遍历了
   l = ["jasonhy","",45]
   s = ""
   for item in l:
   s = s + str(item)
   print(s)
      输出结果是:
        jasonhy12345
  #如果列表里都是字符串,那么我们就可以直接调用join()方法
  l = ["jasonhy","",""]
  s = "".join(l)
  print(s)
     输出结果是:
        jasonhy12345
   功能二:向列表中添加指定的元素
  def append(self, p_object):
""" L.append(object) -> None -- append object to end """ #添加一个元素到列表的末尾
pass
  def extend(self, iterable):
""" L.extend(iterable) -> None -- extend list by appending elements from the iterable """ #以迭代的方式遍历每一个元素添加到列表中
pass
  def insert(self, index, p_object):
""" L.insert(index, object) -- insert object before index """ #在指定的位置插入元素
pass

    案例:

 #以追加的形式添加
 l = ["jasonhy","",45]
 l.append([67,"89"])
 print(l)
    输出结果是:
       ['jasonhy', '123', 45, [67, '89']]
 #以迭代的形式进行添加
 l = ["jasonhy","",45]
 l.extend([67,""])
 print(l)
    输出结果是:
       ['jasonhy', '123', 45, 67, '89']

    注:append()和 extend()的区别就是,append()在添加元素的时候,以一个整体的形式将元素追加在原列表的末尾,而extend()则遍历每个元素,将遍历到元素添加到原列表中

 #在指定位置进行添加
 l = ["jasonhy","",45]
 l.insert(2,"")
 print(l)
    输出结果是:
       ['jasonhy', '123', '67', 45]

    功能三:删除元素

    def clear(self):
""" L.clear() -> None -- remove all items from L """ #移除列表里面的所有的元素
pass
  
  def pop(self, index=None):
"""
L.pop([index]) -> item -- remove and return item at index (default last). #根据索引删除列表里的元素,默认删除列表的最后一个元素,并可以获取被删除的元素
Raises IndexError if list is empty or index is out of range.
"""
pass
  def remove(self, value):
"""
L.remove(value) -> None -- remove first occurrence of value. #删除被选中的元素
Raises ValueError if the value is not present.
"""
pass

    案例:

  #全部删除
  l = ["jasonhy","",45]
  l.clear()
  print(l)
    输出结果是:
       []
 #删除指定位置的元素,并获取这个元素
 l = ["jasonhy","",45]
 s = l.pop(1)
 print(s,l)
    输出结果是:
      123 ['jasonhy', 45]
 #删除指定的元素
 l = ["jasonhy","",45]
 l.remove(45)
 print(l)
    输出结果是:
       ['jasonhy', '123']

    功能四:计算列表里元素出现的次数

   def count(self, value):
""" L.count(value) -> integer -- return number of occurrences of value """ 返回元素value出现的次数
return 0

    案例:

  l = ["jasonhy","",45]
  print(l.count(""))
    输出结果是:
       1

    功能五:反转

   def reverse(self):
""" L.reverse() -- reverse *IN PLACE* """ 将元素位置反转
pass

    案例:

  l = ["jasonhy","",45]
  l.reverse()
  print(l)
    输出结果是:
       [45, '123', 'jasonhy']

    功能六:排序

   def sort(self, key=None, reverse=False):
""" L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE* """ #key接收的是一个函数的返回值,这个返回值就是一个权值,可根据权值进行大小排序,reverse接收的是False或者True表示是否逆序
pass

    案例:

  l = ["","",""]
  l.sort()
  print(l)
     输出结果是:
        ['123', '45', '67']
 l = ["",[1,5,6,7],"","jasonhy"]
 def rule(x):
'''
  定义一个rule函数
  :param x:
   :return: 按照长度返回
'''
  return len(x)
 l.sort(key=rule)
 print(l)
    输出结果是:
       ['67', '123', [1, 5, 6, 7], 'jasonhy']
 注:如果加上reverse=True就按照降序进行排序

    元组(tuple),有点类似列表,但是它的元素不可以修改,在这里,我们说的元素不可以修改指的是一级元素不可以修改,不能增加元素,也不能删除元素,元组长得像我们定义的函数,所以我们为了区别,可读性,往往在元组的最后一个元素后面加上一个逗号,比如:t = ("jasonhy",18,),元组就两个方法,一个是count(self, value),是用来统计元素value出现的次数的;另一个是index(self, value, start=None, stop=None),是用来查找元素value出现的位置索引,start和stop分别用来设置查找的起始位置和终止位置。

    字典(dict),它的元素是在一个大括号里面,比如:d={"name":"jasonhy","age":18},这就是字典的表现形式,从这个表现形式,我们也可以看出,字典里面的元素是一种键值对的关系,也就是key-value之间的一种关系,value可以是任何值,但是key必须是不可修改的,比如列表,由于列表里的元素是可修改的,那就不能作为key值了,在这里我们可以这样理解,小张可以拥有一支钢笔和一个笔记本,如果把小张改成小王,小张和小王还是同一个人吗?这样答案就显然了。

   字典还有一个特点就是无序。

   功能一:元素删除

   #定义了一个字典t
   t = {"name":"jasonhy","age":18}
  #直接调用del,根据key来删除
  del t["age"]
  print(t)
     输出结果是:
         {'name': 'jasonhy'}
  #调用内置函数pop(k, d=None),也是根据key进行删除,并将被删除的元素返回
  s = t.pop("age")
  print(s,t)
     输出结果是:
         18 {'name': 'jasonhy'}
  #调用内置函数popitem(),随机删除,删除的是一个键值对,以元组的形式将被删除的键值对返回
  s = t.popitem()
  print(s,t)
     输出结果是:
         ('age', 18) {'name': 'jasonhy'}
         注:这个结果是随机的
  #我们现在有一个需求就是要变量字典t里面的元素
  for item in t:
  print(item)
        输出结果是:
            age
            name
我们发现直接遍历的是,实际遍历的是key值,那么我们想要value值呢?
 #现在需求是要变量字典t里面的元素的value
 for item in t.values():
  print(item)
        输出结果是:
            jasonhy
            18

   我们希望的是key和value都能遍历出来

 #现在需求是要变量字典t里面的元素的value
 for item in t.values():
  print(item)
       输出结果是:
           ('name', 'jasonhy')
           ('age', 18)

     功能二:生成一个字典

  @staticmethod
def fromkeys(*args, **kwargs):
""" Returns a new dict with keys from iterable and values equal to value. """ #根据×args迭代之后生成key值,每个key对应的value值都是一样的
pass

      案例:

  l = (12,45)
  d = ("ab","cd")
  print(dict.fromkeys(l,d))
     输出结果是:
         {12: ('ab', 'cd'), 45: ('ab', 'cd')}

     功能三:获取value值

    def get(self, k, d=None):
""" D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None. """ #根据k来获取value值,如果k不在字典里边,返回就是d指定的值,d默认是None
pass

     案例:

  t = {"name":"jasonhy","age":18}
  print(t.get("","has not key"))
     输出结果是:
         has not key

     功能四:更新元素

    def setdefault(self, k, d=None):
""" D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """ #将一个key值设置到字典里边,如果这个key以及存在字典里,那就不设置进去了
pass
    def update(self, E=None, **F):
"""
D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k] #以字典的形式进行更新,如果这个字典里面的key已经在原字典存在了,就将原字典里的value值进行更新,如果不存在,就添加到原字典里面
"""
pass

     案例:

  t = {"name":"jasonhy","age":18}
  t.setdefault("age",20)
  print(t)
     输出结果是:
         {'name': 'jasonhy', 'age': 18}
  
  t.update({"loc":"广州","age":20})
  print(t)
     输出结果是:
         {'loc': '广州', 'name': 'jasonhy', 'age': 20}

第三节 Python基础之数据类型(列表,元组,字典)的更多相关文章

  1. python基础之02列表/元组/字典/set集合

    python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...

  2. python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)

    列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...

  3. python基础之数据类型/字符串/元组/列表/字典

    Python 数据类型 数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型).float浮点型:complex复数(python中存在小数字池:-5--257):布尔值 ...

  4. python 基础篇 04(列表 元组 常规操作)

    本节主要内容:1. 列表2. 列表的增删改查3. 列表的嵌套4. 元组和元组嵌套5. range 一. 列表1.1 列表的介绍列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. ...

  5. Python基础:数据类型-列表与元组(6)

    Python中数据结构主要有序列.集合和字典. 1. 通用序列操作 Python内置了多种序列,其中最常用的两种:列表和元组.另一种重要的序列是字符串. 列表和元组的主要不同在于:列表是可以修改的,而 ...

  6. python基础之数据类型之元组和字典

    四.元组 1.用途:元组是不可变的列表,能存多个值,但只能取,不能改 2.定义:name = (‘alex’, ’egon’, ‘wxx’) 在()内用,分割开,可存放任意类型的值 强调:x = (‘ ...

  7. Python基础语法之列表 元组

    1 列表 列表由一系列按照特定顺序的元素组成,其中的元素可以使不同的数据类型,用[ ]来表示列表,用逗号来分割列表中的元素. 1.1 列表操作之切片 a = [1, 2, 3, 4, 5, 6, 7, ...

  8. Python基础:1.数据类型(元组)

    提示:python版本为2.7,windows系统 1.元组(Tuple) Tuple,与List类似,但是Tuple一旦初始化之后就不能修改了,没有增加.删除.修改元素. >>> ...

  9. Python基础(3) - 数据类型:4元组类型

    Python Tuple 是不可变 list. 一旦创建了一个 tuple 就不能以任何方式改变它.Tuple是用()包括起来的. Tuple与List都是按照定义的顺序进行排序的,索引从0开始,与 ...

随机推荐

  1. Ubuntu 修改sudoers之后无法用sudo怎么恢复

    进入终端 键入 pkexec visudo 修改sudoer.temp 实例如下 ## This file MUST be edited with the 'visudo' command as ro ...

  2. ivew Tooltip

    在使用ivew的Tooltip时发生错位,添加属性transfer,避免受父样式影响 发生如上错误时,只需添加属性transfer无需赋值

  3. ios 传递JSON串过去 前面多了个等号

    先说下我的问题 后台让我这边把请求的参数弄成一个实体转化成 json 串放body里传给他,当然header也有设置,提前设置好了, 但是后来了解 所谓的把实体转成json串的本质就是先把实体用run ...

  4. 神州数码标准访问控制列表配置(ACL)

    实验要求:熟练掌握标准访问控制列表配置方法 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip ad ...

  5. 使用Axure做验证码之获取验证码(一)

    本次作业,制作验证码,仅完成获取验证码操作,如下: 分析: 左图为矩形,主要展示验证码(本例设置4位验证码),其中验证码为字母和数字组合: 右图为文本输入框,主要设置点击事件,即点击文本文字,矩形框中 ...

  6. 双网卡绑定一个IP--bond

    双网卡绑定一个IP 步骤1:新建/etc/sysconfig/network-scripts/ifcfg-bond0文件 DEVICE=bond0 ONBOOT=yes BOOTPROTO=stati ...

  7. Qt代码吐槽

    擦,代码注释里写这么多“NB!”是要闹哪样!!

  8. 多个DispatcherServlet有什么用处.md

    有看到一些应用在 web.xml 文件中配置了多个 DispatcherServlet,例如: <servlet>    <servlet-name>en</servle ...

  9. CSS学习笔记_day1

    目录 一. 什么是HTML 二.编辑器 三.Html的基本骨架 四.html基本标签 h.p.img.a.audio.video.ul>li.ol>li.dl dd dt.span.div ...

  10. window10单机安装storm集群

    适合范围:storm自由开源的分布式实时计算系统,擅长处理海量数据.适合处理实时数据而不是批处理. 安装前的准备 1.安装zookeeper ①下载zookeeperhttps://zookeeper ...