• 4. Python数据类型之数字、字符串、列表


    开发过程中,我们需要处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型主要有以下几种:数字、字符串、列表、元组、字典、集合等。

    数字

    数字主要有整数、浮点数、复数3种类型。在Python中,整数(在 Python3.X 版本中 long 类型被移除,使用 int 替代)、浮点数、复数分别用int、float、complex表示。如下表格所示:

    int float complex
    10 10.1 3.14j
    -110 -10.1 4.53e-7j
    11 10.11 4.53j
    0 -32.4e100 3e+26J

    字符串(String)

    字符串(String)是 Python 中最常用的数据类型。我们可以使用单引号(' ')或双引号(" ")来创建字符串,如下代码所示:

    # 使用单引号表示字符串
    '10'  '-10'  '10.0'  '3.14j'  'test'  '我真的是字符串'  'True'  'False'
    
    # 使用双引号表示字符串
    "10"  "-10"  "10.0"  "3.14j"  "test"  "我真的是字符串"  "True"  "False"
    
    

    通过上面我们可以发现,不论是、整数、浮点数、复数还是布尔类型(True 和False 下面会讲到),用 ' ' 或" "包起来后,都表示字符串。所以10 不等同于 '10',一个表示数字,一个表示字符串,其他依此类推。

    操作字符串

    字符串是不可改变的,但是我们对字符串进行索引或拼接操作,如下代码所示:

    a = 'testDog'
    b = a + "TEST"
    print("通过索引方式访问元组第1个元素:", a[0])
    print("字符串第2个元素到第5个元素", a[1:4])
    print("字符串第2个元素到第5个元素,步长为2", a[1:4:2])
    print("字符串拼接:", b)
    
    

    打印如下内容

    通过索引方式访问元组第1个元素: t
    元组第2个元素到第5个元素 est
    元组第2个元素到第5个元素,步长为2 et
    字符串拼接: testDogTEST

    小结:索引从0开始,字符串第1个元素,索引为0。通过上面我们可以发现,我们可以使用下标索引来访问字符串的值,同样也可以使用方括号的形式截取字符串,使用方括号的形式取值原则是,取左不取右。比如a[1:4],我们取了第2个字符,但是没有取索引为4的字符。当我们使用方括号的形式截取字符串,也可以使用步长方式,如a[1:4:2],a[1:4]取到est,步长为2时,取到et。

    列表

    列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型,创建一个列表,只要用逗号分隔不同的数据项,然后使用方括号括起来即可。列表可以为一个空列表,也可以是一个嵌套列表,如下代码所示:

    list1 = []
    list2 = [1, 1.1, 2, 3]
    list3 = ['你好', 'python', ]
    list4 = [1 + 2, 2 + 3]
    list5 = [1, 'test', False, 1 + 2, [1, 2]]
    
    print("list1是一个空列表:", list1)
    print("查看list1的类型:", type(list1))
    print(list2)
    print(list3)
    print("列表中可以存放表达式", list4)
    print("list5是一个嵌套列表:", list5)
    

    上面代码将输出如下内容:

    list1是一个空列表: []
    查看list1的类型: <class 'list'>
    [1, 1.1, 2, 3]
    ['你好', 'python']
    列表中可以存放表达式 [3, 5]
    list5是一个嵌套列表: [1, 'test', False, 3, [1, 2]]

    访问列表中的值

    我们可以像操作字符串哪样使用下标索引来访问列表中的值,同样也可以使用方括号的形式截取字符,如下代码所示:

    a = [1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA']]
    print("通过索引方式访问列表第1个元素:", a[0])
    print("通过索引方式访问列表第2个元素:", a[1])
    print("通过索引方式访问列表第3个元素:", a[2])
    print("通过索引方式访问列表第4个元素:", a[3])
    print("通过索引方式访问列表第5个元素:", a[4])
    print("通过索引方式访问列表第6个元素:", a[5])
    print("用负数访问方式,列表第6个元素为:", a[-1])
    print("用负数访问方式,列表第5个元素为:", a[-2])
    
    print("列表第2个元素到第6个元素,步长为2:", a[1:5:2])
    print("倒数第2个数到最后:", a[-2:])
    print("列表第6个元素是一个列表,访问嵌套列表第1个元素:", a[5][0])
    print("列表第6个元素是一个列表,访问嵌套列表第3个元素:", a[5][2])
    
    

    上面代码将输出如下内容:

    通过索引方式访问列表第1个元素: 1
    通过索引方式访问列表第2个元素: test
    通过索引方式访问列表第3个元素: 你好
    通过索引方式访问列表第4个元素: 3
    通过索引方式访问列表第5个元素: False
    通过索引方式访问列表第6个元素: [2, 3, 'CHINA']
    用负数访问方式,列表第6个元素为: [2, 3, 'CHINA']
    用负数访问方式,列表第5个元素为: False
    列表第2个元素到第6个元素,步长为2: ['test', 3]
    倒数第2个数到最后: [False, [2, 3, 'CHINA']]
    列表第6个元素是一个列表,访问嵌套列表第1个元素: 2
    列表第6个元素是一个列表,访问嵌套列表第3个元素: CHINA

    当索引超出了范围时,Python会报一个IndexError错误,运行下面代码,将会输出 IndexError: list index out of range。

    a = [1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA']]
    print(a[10])
    print(a[-10])
    
    

    小结:列表不仅可以存放数字、字符串、表达式、布尔类型等,还可以再嵌套一个列表。访问列表的方式可以通过索引或使用方括号的形式截取字符,方括号的形式还可以指定步长。

    更新列表

    列表是可变的,我们可以通过索引方式更新列表,也可以使用insert或append方法更新列表,insert指定位置插入,append会加在列表最后,如下代码所示:

    a = [1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA']]
    a[0] = 33
    a.insert(0, 'Jack')
    a.append('TestDog')
    print(a)
    

    上面代码将输出如下内容:

    ['Jack', 33, 'test', '你好', 3, False, [2, 3, 'CHINA'], 'TestDog']

    删除列表元素

    列表元素是可以删除的,我们可以使用del 或者pop方法删除列表元素,pop也可以通过索引方式删除,当不指定时,删除最后一个元素,如下代码所示:

    a = [1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA']]
    del a[0]
    print("删除第1个元素 : ", a)
    a.pop(2)
    print("删除第3个元素 : ", a)
    a.pop()
    print("删除第最后1个元素 : ", a)
    
    

    上面代码将输出如下内容:

    删除第1个元素 : ['test', '你好', 3, False, [2, 3, 'CHINA']]
    删除第3个元素 : ['test', '你好', False, [2, 3, 'CHINA']]
    删除第最后1个元素: ['test', '你好', False]

    欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560

  • 相关阅读:
    Flink--Table和DataStream和DataSet的集成
    flink-SQL
    Flink的容错
    Flink--基于mysql的sink和source
    Flink--sink到kafka
    Flink在流处理上常见的Source和sink操作
    【计算机网络】-传输层-传输服务的要素
    【计算机网络】-传输层-传输服务
    文件系统-文件的逻辑结构与存取方法
    文件系统-概念
  • 原文地址:https://www.cnblogs.com/suim1218/p/10364222.html
Copyright © 2020-2023  润新知