zoukankan      html  css  js  c++  java
  • 自学Python_Day01


    Python的数据类型

    5个标准数据类型

    • Numbers(数字)
    • String(字符串)
    • List(列表)
    • Tuple(元组)
    • Dictionary(字典)

    集合类型

    • 列表
    • 元组
    • 字典

    元素与元组的区别

    Python中两种基本的数据结构

    • 序列
    • 映射
    • 序列包含可变数列、不可变的元组。映射就是字典
    • 列表和元组只是一类元数据的集合体,而字典是名字来引用值的数据

    切片

    • 访问序列元素的另一种方法,可以访问一定范围内的元素

    • sname[start:end:step]

      • sname 序列的名称
      • start 起始位置(包括该位置),默认为0
      • end 截止位置(不包括该位置),不指定默认为序列的长度
      • step 表示步长,默认为1

    列表

    • 创建列表 [ , ]
    • 列表内的元素可以是不同数据类型
    • 数组里只能放一种类型的数据
    • Python是最通用的复合型数据
    # 创建普通列表
    >>> movie=['我和我的祖国','中国机长','哪吒','攀登者']
    >>> movie
    ['我和我的祖国', '中国机长', '哪吒', '攀登者']
    >>> number=[1,2,3,4]
    >>> number
    [1, 2, 3, 4]
    

    言简意赅,就是定义一个列表,并注明列表中有哪些量,就像是数学中的数组。

    # 创建混合列表
    >>> mix=[1,"70周年大阅兵",3.14,[12,3,67.9]]
    >>> mix
    [1, '70周年大阅兵', 3.14, [12, 3, 67.9]]
    
    # 创建空列表
    >>> empty=[]    #提前定义一个空列表以后备用
    >>> empty
    []
    

    通常可以定义一个空的列表,留作以后备用

    给列表添加元素

    • append(附加) 一次只能添加一个元素,在末尾添加
    • extend(延伸) 用新的列表扩展列表
    • insert(插入) 向指定位置添加元素
    >>> movie
    ['我和我的祖国', '中国机长', '哪吒', '攀登者']
    >>> number
    [1, 2, 3, 4]
    
    # append是在列表movie最后添加一个元素
    >>> movie.append("双子杀手")
    >>> movie
    ['我和我的祖国', '中国机长', '哪吒', '攀登者', '双子杀手']
    
    #  extend是向列表中添加一个列表的元素,适合向列表中添加多个元素
    >>> movie.extend(["犯罪现场","急速逃脱"])
    >>> movie
    ['我和我的祖国', '中国机长', '哪吒', '攀登者', '双子杀手', '犯罪现场', '急速逃脱']
    
    # insert是可以向列表中指定位置添加元素
    >>> movie.insert(1,"宠爱")
    >>> movie
    ['我和我的祖国', '宠爱', '中国机长', '哪吒', '攀登者', '双子杀手', '犯罪现场', '急速逃脱']
    >>> movie.insert(5,"风暴")
    >>> movie
    ['我和我的祖国', '宠爱', '中国机长', '哪吒', '攀登者', '风暴', '双子杀手', '犯罪现场', '急速逃脱']
    

    需要注意的是,使用insert插入数据时,前面的序号,即为元素的编号,称之为索引。索引是以0开始的。所以第一个元素的索引为0,以此类推!

    删除列表中的元素

    • remove 必须要知道元素的值
    • del语句 del是一个语句关键字
    • pop 默认删除最后一个元素的值,也可以指定位置元素的值,会返回一个值
    # 创建一个列表
    >>> movie=['我和我的祖国','中国机长','哪吒','攀登者']
    >>> movie
    ['我和我的祖国', '中国机长', '哪吒', '攀登者']
    
    # remove必须要指定元素的值才可以删除
    >>> movie.remove("攀登者")
    >>> movie
    ['我和我的祖国', '中国机长', '哪吒']
    
    # del语句删除列表中的元素时,可以不需要知道元素的值
    # 只需要知道元素对应的编号,即索引。删除索引对应的元素。
    >>> del movie[0]
    >>> movie
    ['中国机长', '哪吒']
    
    # del语句还可以删除整个列表
    >>> del movie
    >>> movie
    Traceback (most recent call last):
      File "<pyshell#44>", line 1, in <module>
        movie
    NameError: name 'movie' is not defined
    
    # 创建列表
    >>> movie=["我和我的祖国","中国机长","哪吒","攀登者"]
    >>> movie
    ['我和我的祖国', '中国机长', '哪吒', '攀登者']
    
    # pop默认删除列表中的最后一个元素
    >>> movie.pop()
    '攀登者'
    >>> movie
    ['我和我的祖国', '中国机长', '哪吒']
    
    # pop也可以删除指定元素
    >>> movie.pop(1)
    '中国机长'
    >>> movie
    ['我和我的祖国', '哪吒']
    

    读取列表

    • 列表的取值
    • 读取单个值,利用索引值
    • 获取多个元素的值,切片、截取、分片(slice)
    # 创建列表
    >>> movie=["我和我的祖国","中国机长","哪吒","攀登者"]
    >>> movie
    ['我和我的祖国', '中国机长', '哪吒', '攀登者']
    
    # 列表名[number]即可读取指定元素的值
    >>> movie[1]
    '中国机长'
    
    # 列表名[number1:number2]即可读取指定范围内的元素的值。
    # 不包括索引为number2的元素。就像是我们数学上的半闭半开区间。
    >>> movie[1:3]
    ['中国机长', '哪吒']
    >>> movie[:3]
    ['我和我的祖国', '中国机长', '哪吒']
    
    # 列表名[:]表示列表内的全部元素,可用在列表的拷贝
    >>> movie[:]
    ['我和我的祖国', '中国机长', '哪吒', '攀登者']
    >>> movie2=movie[:]
    >>> movie2
    ['我和我的祖国', '中国机长', '哪吒', '攀登者']
    >>> movie3=movie
    >>> movie3
    ['我和我的祖国', '中国机长', '哪吒', '攀登者']
    
    # 列表名[:number]与指定范围一样,是指定从索引为第0个元素到number个元素。
    # 同样不包括number。
    >>> movie4=movie[:3]
    >>> movie4
    ['我和我的祖国', '中国机长', '哪吒']
    

    列表的常用操作符

    • 比较操作符
    • 逻辑操作符
    >>> list1=[100]
    >>> list2=[666]
    
    # 判断list1是否大于list2,False表示否,True表示是
    >>> list1>list2    #比较操作符
    False
    
    >>> list1=[100,676]
    >>> list2=[20,989,77777]
    
    # 在做比较少的时候,只比较索引为0的元素,即列表中的第一个元素
    >>> list1>list2
    True
    >>> list3=[123,456]
    
    # 判断list1>list2 并且 list1<list3?
    >>> (list1>list2) and (list1<list3)    #逻辑操作符
    True
    
    • 连接操作符
    >>> list1=[123,456]
    >>> list2=[321,654]
    
    # 连接操作符,即将两个列表中的元素连接到一个列表中。就像是合并。
    >>> list3=list1+list2    #连接操作符
    >>> list3
    [123, 456, 321, 654]
    
    • 重复操作符
    • 成员关系操作符
    >>> list1=[100]
    
    # 即将某列表重复指定遍输出
    >>> list1*3    #重复操作符
    [100, 100, 100]
    
    # 将列表中的元素值同等的重复指定遍并保存
    >>> list1
    [100]
    >>> list1*=3
    >>> list1
    [100, 100, 100]
    
    # 即判断某个元素是否存在于某列表中
    >>> list2=["计算机学院","外语学院","商学院","建筑学院"]
    >>> 100 in list2    #成员关系操作符
    False
    >>> 100 not in list2
    True
    >>> list3=[123,["北京","武汉"],456]
    >>> "北京" in list3
    False
    >>> "北京" in list3[1]
    True
    
    • 当列表中还有列表时,可以使用列表名[num][num]来指定列表中的第几个列表的哪个元素。
    >>> list3
    [123, ['北京', '武汉'], 456]
    
    # 索引为1的列表中第一个元素元素
    >>> list3[1][0]    #类似二维数组
    '北京'
    >>> list3[1].extend(["西安","十堰","黄冈"])
    >>> list3
    [123, ['北京', '武汉', '西安', '十堰', '黄冈'], 456]
    >>> list3[1][3]
    '十堰'
    

    拷贝与分片拷贝

    >>> list1=[9,8,7,6,5,4,3,2,1]
    
    # 拷贝即将整个列表复制
    >>> list2=list1    #拷贝,类似于变量的赋值操作
    >>> list2
    [9, 8, 7, 6, 5, 4, 3, 2, 1]
    
    # 分片拷贝是将列表中的某一段复制到另一列表中
    >>> list3=list1[:]    #分片拷贝
    >>> list3
    [9, 8, 7, 6, 5, 4, 3, 2, 1]
    

    排序

    • sort(种类) sort就像是Linux中的功能一样,排序,默认是正序
    >>> list1.sort()    #排序
    >>> list1
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> list2
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> list3    #排序不会传递给list3
    [9, 8, 7, 6, 5, 4, 3, 2, 1]
    

    访问值、切片(截取/取值)

    >>> list=[1,200.99,'Python',True]
    >>> list
    [1, 200.99, 'Python', True]
    >>> print(list[0])    #输出列表的第一个元素
    1
    >>> print(list[0:3])    #输出列表的0、1、2元素
    [1, 200.99, 'Python']
    >>> print(list[1:3])    #输出列表的1、2元素
    [200.99, 'Python']
    
    • 需要注意的是,这里的数字并不是代表着列表中第几个元素,而是代表它们的索引。
    • 元素值可以使不同类型,也可以是相同类型。

    更新/修改列表

    • 更新列表
    >>> list=[1,200.99,'Python',True]
    >>> list
    [1, 200.99, 'Python', True]
    
    # 指定元素进行修改
    >>> list[0]=100    #修改列表的0元素为100
    >>> print(list)
    [100, 200.99, 'Python', True]
    
    • 删除列表元素
    >>> list=[1,200.99,'Python',True]
    
    # 删除列表中的指定元素
    >>> del list[0]    #删除列表的第一个元素
    >>> print(list)
    [200.99, 'Python', True]
    
    • 列表相加/组合
    >>> list1=[1,200.99,'Python',True]
    >>> list2=['A','B','C']
    
    # 即将两个列表中的元素合并
    >>> print(list1+list2)    #两个列表相加
    [1, 200.99, 'Python', True, 'A', 'B', 'C']
    
    • 列表相乘
    >>> list=[1,200.99]
    
    # 与列表的重复操作相同,是将元素重复制定次
    >>> print(list*3)    #列表元素乘3
    [1, 200.99, 1, 200.99, 1, 200.99]
    
    • 输出最小、最大、长度
    >>> list1=[1,200.99,True]
    >>> print(min(list1))    #输出列表最小元素
    1
    >>> print(max(list1))    #输出列表最大元素
    200.99
    >>> print(len(list1))    #输出列表长度,即元素个数
    3
    

    min——minimum(最小)
    max——maximum(最大)
    len——length(长度)

    成员检查

    • 与列表的成员关系操作符相同
    >>> list=[1,200.99]
    >>> print(6 in list)    #检查元素6是否在list列表中
    False
    >>> print(1 in list)    #检查元素1是否在list列表中
    True
    

    函数

    list函数

    >>> name="Hello"
    >>> print(list('Hello'))    #将元祖转换为列表,使用单引号
    ['H', 'e', 'l', 'l', 'o']
    >>> print(list(name))
    ['H', 'e', 'l', 'l', 'o']
    

    count()函数

    • 统计列表中某元素出现的次数
    >>> list=[1,2,3,3,3]
    
    # 统计list列表中元素3出现的次数
    >>> print(list.count(3))
    3
    

    extend()函数

    • 修改原序列,连接两个序列产生新的序列
    >>> list1=[1,2,3,3,3,]
    >>> list2=['a','b','c']
    
    # 即将list2中的元素拓展到列表list1中
    >>> list1.extend(list2)
    >>> print(list1)
    [1, 2, 3, 3, 3, 'a', 'b', 'c']
    >>> print(list2)
    ['a', 'b', 'c']
    

    append()函数

    • 往列表的最后一个位置插入(入栈)操作
    >>> list=[1, 2, 3, 3, 3]
    
    # 向列表list最后插入一个元素
    >>> list.append('Python')
    >>> print(list)
    [1, 2, 3, 3, 3, 'Python']
    

    insert()函数

    • 将元素插入到列表的指定位置
    >>> list=[1,2,3,3,3,]
    
    # 向list列表中第二个位置插入元素
    >>> list.insert(1,'Python')
    >>> print(list)
    [1, 'Python', 2, 3, 3, 3]
    

    pop()函数

    • 删除指定位置元素
    >>> list=[1,2,3,3,3,]
    
    # 默认删除列表的最后一个元素,并将删除的元素打印出来
    >>> list.pop()
    3
    >>> print(list)
    [1, 2, 3, 3]
    
    # 指定删除索引为1的元素
    >>> list.pop(1)
    2
    >>> print(list)
    [1, 3, 3]
    

    pop()函数默认删除的是最后一个元素(出栈

    remove()函数

    • 删除列表中某一个值的第一个匹配选项
    >>> list=[1,2,3,3,3,]
    
    # 删除列表中第一个匹配到的3,即原索引为2的元素
    >>> list.remove(3)
    >>> print(list)
    [1, 2, 3, 3]
    >>> 
    
    • 删除列表中所有的匹配项
    list=[1,2,3,3,3]
    while 3 in list:
        list.remove(3)
    print(list)
    
    • 这里使用了一个while循环,所以需要在新的模块写。File——New File
    • 然后再写入以上代码,注意循环所做的语句一定要空四格,或者按一个Tab。gou肉肉一提醒我就想起来Tab也是四个空格了。
    • 然后需要保存,再运行。Run——Run Module

    reverse()函数

    • 翻转列表
    list=[1,2,3,3,3]
    list.reverse()
    print(list)
    
    • 对元素进行排序
    >>> list=[1,5,3,9,6]
    >>> print(list.reverse())
    None
    
    • reverse(颠倒),即将列表中的元素颠倒顺序
    • print(list.reverse())的输出为None,是因为reverse()没有返回值

    index()函数

    • 从列表中找出与某个元素匹配的第一个匹配项的位置
    >>> list=[1,2,3,3,3,3,3,3,3]
    >>> print(list.index(3))
    2
    
    # 表示匹配list列表中元素3在4-8这个索引范围内第一次匹配到的位置
    >>> print(list.index(3,4,8))
    4
    

    sort()函数

    • 元素进行排序
    >>> list=[100,80,200,1]
    >>> list.sort()
    >>> print(list)
    [1, 80, 100, 200]
    
    >>> list=[100,80,200,1]
    >>> print(list.sort())
    None
    

    print(list.sort())输出为None,因为sort()没有返回值

    以上内容纯属自学,如有错误或不详,敬请指出!
    
    本文作者: 坏坏
  • 相关阅读:
    URAL 2046 A
    URAL 2056 Scholarship 水题
    Codeforces Gym 100286I iSharp 水题
    Codeforces Gym H. Hell on the Markets 贪心
    Codeforces Gym 100286G Giant Screen 水题
    Codeforces Gym 100286B Blind Walk DFS
    Codeforces Gym 100286F Problem F. Fibonacci System 数位DP
    Codeforces Gym 100286A. Aerodynamics 计算几何 求二维凸包面积
    Codeforces Gym 100418K Cards 暴力打表
    Codeforces Gym 100418J Lucky tickets 数位DP
  • 原文地址:https://www.cnblogs.com/bad5/p/12424295.html
Copyright © 2011-2022 走看看