一、List数据类型
  1、概述:list(列表)中可以包含多个元素,且元素类型可以不相同。
    每一元素可以是任意数据类型,包括列表(即列表嵌套)及后面要介绍的元组、集合、字典。
    所有元素都写在一对方括号 "[ ]" 中,每个元素之间用逗号分隔。
    对于不包含任何元素的列表,即[ ],称位空列表。
  2、列表元素索引:
    (1)列表中元素的索引方式与字符串中元素的索引方式完全相同,也支持从前向后索引和从后向前索 引两种方式
       (2)与字符串相同,利用下标“[]”可以从已有列表中取出其中部分元素形成一个新列表,其语法格式为:ls[beg:end]
      其中,beg是要取出的部分元素在ls中的起始下标,end是要取出的部分元素在ls中的结束下标。
      注意:省略beg,则表示从ls中的第一个元素开始,等价于ls[0:end];省略end,则表示要取出的部分元素从beg位置开始
            一直到最后一个元素(包括最后一个元素);beg和end都省略则取出ls中的所有元素。
    (3)例如:
对于ls=[1, 2.5, 'test', 3+4j, True, [3,1.63], 5.3]这个列表,其各元素的下标为:
  3、访问单个元素:
    如果只访问列表ls中的某一个元素,则可以使用下面的写法:ls[idx],其中,idx是要访问的元素的下标
    ls=[1, 2.5, 'test', 3+4j, True, [3,1.63], 5.3]
    print(ls[2]) #输出“test”
    print(ls[-3]) #输出“True”
注意:ls[beg:end]返回的仍然 是 一 个 列 表 ; 而ls[idx]返回的是列表中的一个元素。
  4、元素修改:
    通过下标“[ ]” 不仅可以访问列表中的某个元素,还可以对元素进行修改,例如
    print(ls) #输出“[1, 2.5, 'test', (3+4j), True, [3, 1.63], 5.3]”
    ls[2]=15 #将列表ls中第3个元素的值改为15
    ls[1:4]=['python',20] #将列表ls中第2至4个元素替换为['python',20]中的元素
    ls[0:2]=[] #将列表ls中前两个元素替换为空列表[],即将前两个元素删除
注意:在对列表中的元素赋值时,既可以通过“ls[idx]=a”这种方式修改单个元素的值,也可以通过“ls[beg:end]=b”这种方式修改一个元素或同时修改连续多个元素的值。但需要注意,在通过“ls[beg:end]=b”这种方式赋值时,b是另一个列表,其功能是用b中个元素替换ls中beg至end-1这些位置上的元素,赋值前后列表元素数量允许发生变化。 
二、Tuple数据类型
  1、概述:Tuple(元组)与列表类似,可以包含多个元素,且元素类型可以不相同,书写时每两个元素之间也是用逗号分隔。与列表的不同之处在于:元组的所有元素都写在一对小括号“()”中,且元组中的元素不能修改。对于不包含任何元素的元组,即(),称为空元组。
  2、元组元素索引:
元组中元素的索引方式与列表中元素的索引方式完全相同。与列表相同,利用下标“[]”可以从已有元组中取出其中部分元素形成一个新元组,其语法格式为:t[beg:end]其中,t为元组,beg是要取出的部分元素在t中的起始下标,end是要取出的部分元素在t中的结束下标。
  3、单一元素访问:
如果只访问元组t中的某一个元素,则可以使用下面的写法:
t[idx] 其中,idx是要访问的元素的下标
注意:字符串、列表和元组的元素都是按下标顺序排列,可通过下标直接访问,这样的数据类型统称为序列。其中,字符串和元组中的元素不能修改,而列表中的元素可以修改。
三、Set数据类型
  1、概述:与元组和列表类似,Set {集合} 中同样可以包含多个不同类型的元素,但集合中的各元素无序、不允许有相同元素且元素必须是可哈希(hashable)的对象。可哈希对象是指拥有__hash__(self) 内置函数的对象。列表、集合和字典类型的数据不是可哈希对象,所以它们不能作为集合中的元素。元组、字符串和数值都是可哈希对象。
  2、创建集合:
集合中的所有元素都写在一对大括号“{}”中,各元素之间用逗号分隔。创建集合时,既可以使用{},也可以使用set函数。set函数的语法格式如下:set([iterable])其中,iterable是一个可选参数,表示一个可迭象。
注意:可迭代(iterable)对象是指可以一次返回它的一个元素,如前面学习的字符串、列表、元组都是可迭代的数据类型。
例如:1.a={10, 2.5, 'test', 3+4j, True, 5.3, 2.5}
   2.print(a) #输出“{True, 2.5, 5.3, 10, (3+4j), 'test'}”
   3.b=set('hello')
   4.print(b) #输出“{'e', 'l', 'o', 'h'}”
   5.c=set([10, 2.5, 'test', 3+4j, True, 5.3, 2.5])
   6.print(c) #输出“{True, 2.5, 5.3, 10, (3+4j), 'test'}”
   7.d=set((10, 2.5, 'test', 3+4j, True, 5.3, 2.5))
   8.print(d) #输出“{True, 2.5, 5.3, 10, (3+4j), 'test'}”
  3、注意:
与字符串、列表、元组等序列类型不同,集合中的元素不能使用下标方式访问。集合主要用于做并、交、差等集合运算,以及基于集合进行元素的快速检索。{}用于创建空字典,如果要创建一个空集合,则需要使用set()。
四、Dictionary数据类型
  1、概述:Dictionary{字典}是另一种无序的对象集合。但与集合不同,字典是一种映射类型,每一个元素是一个键(key):值(value)对。键必须是唯一的,即不同元素的键不能相同;另外,键必须是可哈希数据,即键不能是列表、集合、字典等类型;值可以是任意类型。对于不包含任何元素的字典,即{},称为空字典。
  2、创建字典:
  (1)既可以使用{},也可以使用dict函数。如果要创建一个空字典,可以使用{}或dict()。例如:
    a={}
    b=dict()
    执行完毕后,a和b是两个不包含任何元素的空字典。
  (2)如果在创建字典的同时,需要给出字典中的元素,则可以使用下面的方法:
    1. {k1:v1,k2:v2,…,kn:vn} #ki和vi(i=1,2,…,n)分别是每一个元素的键和值
    2. dict(**kwarg) #**kwarg是一个或多个赋值表达式,两个赋值表达式之间用逗号分隔
    3. dict(z) #z是zip函数返回的结果
    4. dict(ls) #ls是元组的列表,每个元组包含两个元素,分别对应键和值
    5. dict(dictionary) #dictionary是一个已有的字典
    这5条语句创建的5个字典对象的元素完全相同,使用print函数查看每一个变量,都能得到如下输出结果:
    {'one': 1, 'two': 2, 'three': 3}
  (3)zip函数的参数是多个可迭代的对象(列表等),其功能是将不同对象中对应的元素分别打包成元组,然后返回由这些元组组成的列表。在Python 3.x中为了减少内存,zip函数返回的是一对象,可以通过list函数转换 为 列 表 , 如 通 过“list(zip(['one','two','three'],[1,2,3]))” 可 得 到 列 表“ [('one', 1), ('two', 2),('three', 3)]”。
 
  3、访问字典元素
   与列表等序列对象不同,在访问字典中的元素时不能通过下标方式访问,而是通过键访问。例如:
    1.info={'name':'张三', 'age':19, 'score':{'python':95,'math':92}}
    2.print(info['name']) #输出“张三”
    3.print(info['age']) #输出“19”
    4.print(info['score']) #输出“{'python': 95, 'math': 92}”
    5.print(info['score']['python']) #输出“95”
    6.print(info['score']['math']) #输出“92”
 
 
 
 
 
 
 
 
 
 
 
 

List、Tuple、Set、Dictionary数据类型的更多相关文章

  1. Python — List、Set、Tuple、Dictionary之间的区别、参数传递

    1.list 列表 有序集合,随时增删.包含的数据类型可以不同:整数.浮点数.字符串.list.tuple.dict.set.bool.空值.常量. list = [12, 'Yummy', 19.2 ...

  2. python中的list、tuple和dictionary

    列表 列表是python中最基本的数据结构之一,并且列表的数据项不需要具有相同的数据类型,创建一个列表,只需把逗号分隔的不同数据项使用方括号括起来即可.具体的定义式如下: list=['变量1','变 ...

  3. DataReader转Dictionary数据类型之妙用

    datareader转dictionary有很多用处,可以输出表中部分字段转实体字段,以前需要全部字段输出或者再建一个实体模型才行,这样就可以减少数据库的输出量了,特别是某些接口的格式化输出很方便. ...

  4. [Python]字典Dictionary、列表List、元组Tuple差异化理解

    概述:Python中这三种形式的定义相近,易于混淆,应注意区分. aDict={'a':1, 'b':2, 'c':3, 'd':4, 'e':5} aList=[1,2,3,4,5] aTuple= ...

  5. 一句python,一句R︱模块导入与查看、数据读写出入、数据查看函数、数据类型、遍历文件

    先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. pandas中有类似R中的read.table的功能,而 ...

  6. Course1-Python数据类型总结

    一. 开始正式学习前的tips: Python和其他语言有很多类似, 也有一些差异, 下面先总结了一些基本语法上的注意事项 1. 注意缩进 2. 一行语句分为多行显示: \ 3. 注释: 单行注释#, ...

  7. Python的基本数据类型

    数据类型常用函数 type(a)-得到变量a的数据类型 isinstance(a,str)-判断a是否是字符串类型 Python中有五个标准数据类型 数字Number 字符串String 数组List ...

  8. python学习日记(基础数据类型及其方法02)

    python的变量 python中的变量不需要声明,变量载使用前必须被赋值,变量被赋值以后才会被创建. 在python中变量就是变量,没有数据类型.我们所说的类型是变量所指向内存中的对象的类型. py ...

  9. Python数据类型的显式转换

    数据类型的显示转换,也称为数据类型的强制类型转换,是通过Python的内建函数来实现的类型转换. 显式转换的多种类型: int(x [,base]) ⇒ 将x转换为一个十进制的整数 long(x [, ...

随机推荐

  1. linux(centos8):用grep命令查找文件内容

    一,grep的用途: linux平台有最常用的三大文本处理工具:awk/sed/grep grep的功能:搜索指定文件的内容,按照指定的模式匹配,并输出匹配内容所在的行. 需要注意的地方:grep只支 ...

  2. python 爬虫 循环分页

    import osfrom time import sleepimport fakerimport requestsfrom lxml import etreefake = faker.Faker() ...

  3. oozie.action.hadoop.LauncherException: IO error Connection timed out: no further information

    本文主要针对使用CDH平台的HUE时候碰到两类问题,最终问题并没有得到很好的解决,只是提供了一种绕行方式,欢迎知道的朋友补充. ## **NO 1: HUE执行jar包** > 第一种报错 or ...

  4. 使用pyenv实现python多版本共存

    背景 如果是Ubuntu等桌面系统,都已经更新到了Python较新的版本.但多数生产环境使用的还是红帽系统. CentOS7默认还是Python2.7,而开发环境如果是高版本Python就带来了问题. ...

  5. 手把手教你如何制作和使用lib和dll

    本文的内容经过本人亲自调试,确保可用,实用,测试环境为win10+vs2015+C++ 目录 静态库 什么是静态库? 怎么创建 如何使用 静态库的第一种使用方法 静态库的第二种使用方法 动态链接库 动 ...

  6. 通俗的讲解Python中的__new__()方法

    2020-3-17更新本文,对本文中存争议的例子进行了更新! 曾经我幼稚的以为认识了python的__init__()方法就相当于认识了类构造器,结果,__new__()方法突然出现在我眼前,让我突然 ...

  7. APP打开(一)—以亲身经历谈APP注册登录

    如果不是自己接手过这样的产品,我可能也很难相信,会有公司能够做出十四个注册页面的APP,将选站点.输账号.输密码.用户协议.用户权限等全部拆解成一个一个单独的页面来做,用户在注册的时候仿佛在攀登一座云 ...

  8. linux 安装配置zerotier

    1.在线安装zerotier curl -s https://install.zerotier.com/ | sudo bash 2.添加开机自启 $ sudo systemctl enable ze ...

  9. Ace editor中文文档

    介绍 Ace是一个用JavaScript编写的可嵌入代码编辑器.它与Sublime,Vim和TextMate等本地编辑器的功能和性能相匹配.它可以轻松地嵌入任何网页和JavaScript应用程序中. ...

  10. CGANs

    Introducation 1. intruduce the conditional version of GANs, which can be constructed by simply feedi ...