一。List(列表)

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号([])之间、用逗号分隔开的元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

列表截取的语法格式如下:

变量[头下标:尾下标]

索引值以 0 为开始值,-1 为从末尾的开始位置。

加号(+)是列表连接运算符,星号(*)是重复操作。如下实例:

实例

#!/usr/bin/python3 list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ] tinylist = [123, 'runoob'] print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表

以上实例输出结果:

['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob'] 与Python字符串不一样的是,列表中的元素是可以改变的:

>>> a = ['1','2','3','4']
>>> a[0]= 0
>>> print(a)
[0, '2', '3', '4']
>>> a[0:2]
[0, '2']
>>> a[:2]=[]
>>> a
['3', '4']
>>>

List内置了有很多方法,例如append()、pop()等等,这在后面会讲到。

注意:

  • 1、List写在方括号之间,元素用逗号隔开。
  • 2、和字符串一样,list可以被索引和切片。
  • 3、List可以使用+操作符进行拼接。
  • 4、List中的元素是可以改变的。

二。Tuple元组

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号(())里,元素之间用逗号隔开。

元组中的元素类型也可以不相同:

tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # 输出完整元组
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
print (tuple[2:]) # 输出从第三个元素开始的所有元素
print (tinytuple * 2) # 输出两次元组
print (tuple + tinytuple) # 连接元组

以上实例输出结果:

('abcd', 786, 2.23, 'runoob', 70.2)
abcd
(786, 2.23)
(2.23, 'runoob', 70.2)
(123, 'runoob', 123, 'runoob')
('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')

元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取(看上面,这里不再赘述)。

其实,可以把字符串看作一种特殊的元组。

虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号

string、list和tuple都属于sequence(序列)。

注意:

  • 1、与字符串一样,元组的元素不能修改。
  • 2、元组也可以被索引和切片,方法一样。
  • 3、注意构造包含0或1个元素的元组的特殊语法规则。
  • 4、元组也可以使用+操作符进行拼接。
三。set集合

集合(set)是一个无序不重复元素的序列。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

>>> a = set('abracadabra')

>>> b = set('alacazam')
>>> print(a)
{'d', 'r', 'a', 'c', 'b'}
>>> print(b)
{'m', 'l', 'a', 'c', 'z'}
>>> print(a - b) //最好的记忆办法就是想成具体的减法运算,在a中减去b中有的剩下的元素
{'d', 'b', 'r'}
>>> print(a | b)
{'z', 'r', 'm', 'l', 'd', 'a', 'c', 'b'}      #取并
>>> print(a & b)        #取与,两个都有的元素
{'a', 'c'}
>>> print(a ^ b)             # a和b中不同时存在的元素
{'z', 'r', 'm', 'l', 'd', 'b'}
>>>

四。字典

Dictionary(字典)


字典(dictionary)是Python中另一个非常有用的内置数据类型。


列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过来存取的,而不是通过偏移存取。(可以通过‘key’或者下标来访问具体建对应的值)


字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。


键(key)必须使用不可变类型。


在同一个字典中,键(key)必须是唯一的。

#!/usr/bin/python3 dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'} print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值

以上实例输出结果:

1 - 菜鸟教程
2 - 菜鸟工具
{'name': 'runoob', 'site': 'www.runoob.com', 'code': 1}
dict_keys(['name', 'site', 'code'])
dict_values(['runoob', 'www.runoob.com', 1])
====================================

注意:

  • 1、字典是一种映射类型,它的元素是键值对。
  • 2、字典的关键字必须为不可变类型,且不能重复。
  • 3、创建空字典使用 { }

Python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数 描述

int(x [,base])

将x转换为一个整数

long(x [,base] )

将x转换为一个长整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

unichr(x)

将一个整数转换为Unicode字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串


拓展:http://www.runoob.com/python3/python3-data-type.html

笔记列表

 

  1. 荆棘乱

    llc***n@gmail.com

    元组(小拓展)

    一般来说,函数的返回值一般为一个。

    而函数返回多个值的时候,是以元组的方式返回的。

    示例(命令行下):

    >>>def example(a,b):
    ... return (a,b)
    ...
    >>>type(example(3,4))
    <class 'tuple'>
    >>>

    python中的函数还可以接收可变长参数,比如以 "*" 开头的的参数名,会将所有的参数收集到一个元组上。

    例如:

    def test(*args):
    print(args)
    return args print(type(test(1,2,3,4))) #可以看见其函数的返回值是一个元组

    字典(小拓展)

    python中的字典是使用了一个称为散列表(hashtable)的算法(不具体展开),

    其特点就是:不管字典中有多少项,in操作符花费的时间都差不多。

    如果把一个字典对象作为for的迭代对象,那么这个操作将会遍历字典的键:

    def example(d):
    # d 是一个字典对象
    for c in d:
    print(c)
    #如果调用函数试试的话,会发现函数会将d的所有键打印出来;
    #也就是遍历的是d的键,而不是值.
    荆棘乱

    荆棘乱

    llc***n@gmail.com

    6个月前 (05-05)

  2. 我去咬你啦

    815***114@qq.com

    针对楼上的 字典 拓展,做测试的时候,想要输出 kye:value的组合发现可以这样:

    for c in dict:
    print(c,':',dict[c])

    或者

    for c in dict:
    print(c,end=':');
    print(dict[c])

    于是发现 print()函数 其实可以 添加多个参数,用逗号 隔开。

    本来想要用

    for c in dict:
    print(c+':');
    print(dict[c])

    这样的方式打印 key:value结果发现其实 key不一定是 string类型,所以 用+ 号会出问题。

    我去咬你啦

    我去咬你啦

    815***114@qq.com

    4个月前 (06-28)

  3. 愤怒的胸毛毛

    zha***aijun2013@foxmail.com

    在list的使用中,开始时很容易忽视的一点是:

    list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
    print (list[1:3]) # 从第二个开始输出到第三个元素

    list[1:3] 其实输出的只有两个变量,即list中第二个元素到第三个元素,并不是第1 第2 第3三个元素,而且要注意的是

    print (list[2])
    print (list[2:3])

    这两句话打印的内容其实是一样的,

    2.23
    [2.23]

    但是第二句话有中括号

    愤怒的胸毛毛

    愤怒的胸毛毛

    zha***aijun2013@foxmail.com

    4个月前 (07-02)

  4. hellowqp

    wqp***a@foxmail.com

    python 与 C 语言和 Java 语言的一点不同,表现在它的变量不需要声明变量类型,这是因为像 C 语言和 Java 语言来说,它们是静态的,而 python 是动态的,变量的类型由赋予它的值来决定,例如:

    >>> a = 1
    >>> a = 1.001
    >>> a = "python"
    >>> print(a)
    python
    >>>

    第一次为变量 a 赋值为整型,第二次赋值是浮点数,第三次是一个字符串,最后输出时只保留了最后一次的赋值。

    hellowqp

    hellowqp

    wqp***a@foxmail.com

    3个月前 (07-08)

  5. 燕春

    zqs***306010@qq.com

    参考地址

    type 是用于求一个未知数据类型对象,而 isinstance 是用于判断一个对象是否是已知类型。

    type 不认为子类是父类的一种类型,而isinstance会认为子类是父类的一种类型。

    可以用 isinstance 判断子类对象是否继承于父类,type 不行。

    综合以上几点,type 与 isinstance 虽然都与数据类型相关,但两者其实用法不同,type 主要用于判断未知数据类型,isinstance 主要用于判断 A 类是否继承于 B 类:

    # 判断子类对象是否继承于父类
    class father(object):
    pass
    class son(father):
    pass
    if __name__ == '__main__':
    print type(son())==father
    print isinstance(son(),father)
    print type(son())
    print type(son)

    运行结果:

    False
    True
    <class '__main__.son'>
    <type 'type'>
    燕春

    燕春

    zqs***306010@qq.com

    参考地址

    1个月前 (09-15)


python数据类型(二)的更多相关文章

  1. python基础3 ---python数据类型二

    ython基础 一.python数据类型     ------列表(list) 1.定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性:可存放多个不同类型的值:可修改指定索 ...

  2. python 数据类型二 (列表和元组)

    一.列表 1.1 列表的介绍 列表是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类 ...

  3. python数据类型二

    阅读目录 1.列表的去嵌套 2.元组 3.range 列表的增删改查 一,增: 注意  list和str是不一样的,lst可以发生改变,所以直接就在原来的对象上进行可操作 追加模式 lst = ['麻 ...

  4. python数据类型二(列表和元组)

    一.列表 1.1 列表的介绍 列表是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类 ...

  5. 万恶之源 - Python数据类型二

    列表 列表的介绍  列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. 比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各 ...

  6. python数据类型(二)

    跟着慕课网练习的,一些简单的知识点如下

  7. 二、Python数据类型(一)

    一.Python的基本输入与输出语句 (一)输出语句 print() 示例: print('你好,Python') print(4+5) a = 10 print(a) 输出的内容可以是字符串,变量, ...

  8. Python 数据类型常用的内置方法(二)

    目录 Python 数据类型常用的内置方法(二) 1.字符串类型常用内置方法 1.upper.lower.isupper.islower 2.startswith.endswith 3.format ...

  9. Python基础篇【第5篇】: Python内置模块(二)

    内置模块 1. OS os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell ...

  10. Python 基础 二

    Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...

随机推荐

  1. lesson - 14 linux系统日常管理3

    1. Linux系统服务管理工具ntsysv 类似图形界面管理工具,如果没有该命令使用 yum install -y ntsysv 安装常用服务:crond, iptables, network, s ...

  2. lesson - 6 课程笔记

    一.df  作用:  显示磁盘分区上的可使用的磁盘空间, 默认显示单位为kb . 可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间的等信息. 选项: -a :包含全部的文件系统 -h :以 ...

  3. Linux(CentOS7.1)修改默认yum源为国内的阿里云yum源

    官方的yum源在国内访问效果不佳. 需要改为国内比较好的阿里云或者网易的yum源 修改方式: 下载wget yum install wget -y echo 备份当前的yum源 mv /etc/yum ...

  4. Linux(以CentOS6.5示例)下安装Oracle官方最新版JDK(JDK1.8)

    本文地址http://comexchan.cnblogs.com/ ,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢! 我们很多组件都需要使用Oracle最新版的JDK,所以需要在我们的 ...

  5. asp.net MVC里的 ModelState使用方法

    https://www.cnblogs.com/hohoa/p/5839993.html if (!ModelState.IsValid) { string error = string.Empty; ...

  6. JQuery基本语法(部分)

    1.jQuery介绍 jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScrip ...

  7. RobotFrame连接MySql数据库

    RobotFrame连接MySql数据库这类的教程网上并不多,就算有,也是很多坑.小编今天为大家提供一个靠谱的教程,但是具体的包需要大家自己下载.废话不多说,看疗效~~~ 1.pip install ...

  8. git for windows上传项目到github

    软件:git for windows 账户:github账户 1.第一步创建自己的github账号,并创建自己的project,创建完毕之后url如下 https://github.com/ft110 ...

  9. 实战经验分享之C#对象XML序列化

    .Net Framework提供了对应的System.Xml.Seriazliation.XmlSerializer负责把对象序列化到XML,和从XML中反序列化为对象.Serializer的使用比较 ...

  10. HttpRuntime.Cache .Net自带的缓存类

    .Net自带的缓存有两个,一个是Asp.Net的缓存 HttpContext.Cache,一个是.Net应用程序级别的缓存,HttpRuntime.Cache. MSDN上有解释说: HttpCont ...