zoukankan      html  css  js  c++  java
  • python基础(3)--列表、元组、字符串、集合与字典

    数字(number)(参考链接戳这里

    特点:

    • 1. 不可变数据类型
    • 2.可以使用del语句删除一些数字类型的引用
    • 3. python3支持三种数值类型:

      int: python3中的int型数据不限制长度,因此Python3 没有 Python2 的 Long 类型。

      float: 含有小数部分,可以用科学计数法表示2.5e5,这等于2.5*10**5,都是浮点类型。

      complex: 复数的实部a和虚部b都是浮点型,可以用complex(a, b)或a+bj表示

    • 4. 数据类型转换:float(a), int(a),complex(a, b)
    • 5. 运算符:**(平方),// (取整), /(返回浮点数)

      // 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。

    a = 4.0
    b = 2
    print(a//b)

    结果:

    2.0

    常用的数学函数:

    • 返回int型的常见函数:

      abs(a): 返回a绝对值

      math. ceil(a): 向上取整

      math. floor(a): 向上取整

    • 返回float:

      math. fabs(a): 返回a绝对值

      math. log(a): a的对数

      math. sqrt(x): x的平方根

    • 返回值取决于参数:

      pow(a, b): 即,a **b

      round(a, [,n]): 返回浮点数a的四舍五入值,n表示四舍五入到小数点后的位数

    随机数函数:

    • random(): 随机生成下一个实数,范围在[0, 1)内
    • shuffle(lst): 将序列的所有元素随机排序
    • uniform(x, y): 随机生成下一个随机数,范围[x, y]

    列表(list)

    特点:

    • 1、访问方式:和字符串一样,list可以被索引和切片,可以用下标索引
    • 2、“+”: List可以使用+操作符进行拼接。
    • 3、“*”: list * a(整数), 表示list重复a次并拼接
    • 4、可变数据结构:List中的元素是可以改变的。比如 list1[1] = 2

    翻转字符串:

    if __name__ == "__main__":
        inputwords = input().split(" ")
        # 翻转字符串
        # 假设列表 list = [1,2,3,4],
        # list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
        # inputWords[-1::-1] 有三个参数
        # 第一个参数 -1 表示最后一个元素
        # 第二个参数为空,表示移动到列表末尾
        # 第三个参数为步长,-1 表示逆向
        inputwords = inputwords[-1::-1]
        print(inputwords)
        # 重新组合字符串
        output = ' '.join(inputwords)
        print(output)

    输入:

    1 2 3 4 5

    输出:

    ['5', '4', '3', '2', '1']
    5 4 3 2 1

    元组

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

    特点:

    • 1,2,3特点与列表相同
    • 4. 不可变的数据结构:不可以用a[1] = 1的方式改变元组中的元素,不可以使用append()增加元素
    • 5. 构造1或0个元素的元组:a = (1, ); a = ()
    • 6. tuple中的元素:虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
    a = (1,2,[[3,4,"ab"],5,6])
    print(a)
    a[2][0] = [1,2]
    print(a)

    输出:

    (1, 2, [[3, 4, 'ab'], 5, 6])
    (1, 2, [[1, 2], 5, 6])

    序列:str、list、tuple都是序列,特点是可以重复,有顺序,可以用下标访问。总结这三种数据结构的共同语法:

    • 1. 可以切片,可以用下标索引
    • 2. 可以用+、*,不可以用-(减号)
    • 3. 判断元素是否在序列中in、not in
    • 4. 序列中元素个数:len()
    • 5. 判断序列中的最大、最小元素max()、min()
    • 6. 判断字符的ascii码,如ord('w')

    集合(set)

    集合(set)基本功能是进行成员关系测试和删除重复元素。集合中的对象是无序的、不重复。

    特点:

    • 1. 同序列特点3和4
    • 2. 不可以+、*,可以用-求差集, &求交集,| 求并集,^求两个集合中不同时存在的元素
    • 3. 定义空集为set(), 不可以用{}
    student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
     
    print(student)   # 输出集合,重复的元素被自动去掉

    字典(dictionary)

    列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

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

    特点如下:

    • 是一种集合,有许多key和value,每一对都不重复
    • 使用key来获取value,如 a[key1]
    • 键(key)必须使用不可变类型, 如int, str, tuple,且字典的关键字不能重复。
    • value可用的类型有:str、int、tuple、float、list、set、dict
    • 空字典{}

    字典中的内置函数有:clear()、keys()、values()

    直接从键值对序列中构建字典的三种方法

    >>> dict1 = dict([(1, "abc"),(2,"123"),("def",2)])
    >>> print(dict1)
    {1: 'abc', 2: '123', 'def': 2}
    >>> dict2 = {x: x **2 for x in [1,2,3]}
    >>> dict2
    {1: 1, 2: 4, 3: 9}
    >>> dict3 = dict(a = 1, b = 2, c = 3)   # 这里的a,b,c不可以带引号或者换成其他数据类型,否则提示:keyword can't be an expression
    >>> dict3 
    {
    'a': 1, 'b': 2, 'c': 3}

    常见的python数据类型转换(详见链接)

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

    tuple(s): 将序列 s 转换为一个元组

    list(s): 将序列 s 转换为一个列表

    chr(x): 将一个整数转换为一个字符

    参考链接:https://www.runoob.com/python3/python3-number.html

  • 相关阅读:
    福大软工1816 · 第四次作业
    福大软工1816 · 第三次作业
    福大软工1816 · 第二次作业
    福大软工1816 · 第四次作业
    福大软工1816 · 第三次作业
    Alpha 冲刺 (4/10)
    Alpha 冲刺 (3/10)
    Alpha 冲刺 (2/10)
    Alpha 冲刺 (1/10)
    项目需求分析
  • 原文地址:https://www.cnblogs.com/liliwang/p/12676080.html
Copyright © 2011-2022 走看看