• Python快速入门


    一、列表

    (1)下标访问和for-each访问

    python中使用列表访问和在C和Java中就是类似于数组的访问,这里py使用

    
    if __name__ == '__main__':
        a=['a','b','c']
    
        # 直接打印整个字符列表
        print(a)
    
        # for-each 循环遍历列表,
        for item in a:
            print(item)
    	
    	#操作整数列表
        b=[6,5,4,3,2,1]
        # 直接打印整个列表
        print(b)
    
        # for-each 循环遍历列表,
        for item in b:
            print(item)
    
    	# 打印下标为0的a列表的元素
    	print(a[0])
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    (2)对列表进行CRUD

    (Ⅰ)增加元素a

    (a)append插入

    末尾插入元素使用append函数

    
    if __name__ == '__main__':
        # 有一定元素的列表
        a=[6,5,4]
        # 空列表
        b=[]
        print("增加前,列表为" + str(b))
        b.append(3);
        print("增加3后的列表是"+str(b))
        # 再增加两个元素2和1
        b.append(2)
        b.append(1)
        print("再增加两个元素2和1之后,列表变成:"+str(b))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    (b)insert插入

    任意下标位置插入元素使用insert函数,制定index位置和value需要插入的元素

    
    if __name__ == '__main__':
        # 有一定元素的列表
        a=[6,5,4]
    
        print("增加前,列表为" + str(a))
        # 下标为0的位置之前插入元素7
        a.insert(0, 7)
        print("增加7后的列表是"+str(a))
        # 再增加两个元素2和1
        a.insert(len(a)-1, 9)
        print("再增加9之后,列表变成:"+str(a))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    (Ⅱ)删除

    (a)del语句删除

    指定索引位置删除特定元素

    if __name__ == '__main__':
        # 有一定元素的列表
        a=[6,5,4]
        print(a)
        del a[0]
        print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    (b)pop函数删除元素

    pop()和pop(index)重载,pop无参直接就是删除列表最后一个元素,pop(index)可以删除任意位置的元素

    不列举代码了,省略不讲

    if __name__ == '__main__':
        # 有一定元素的列表
    	a=[6,5,4,3,2,1]
        print(a)
        a.pop(0)
        print(a)
        a.pop()
        print(a)
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    (c)remove根据列表中的值来删除元素

    if __name__ == '__main__':
        # 有一定元素的列表
        a=[6,5,4,3,2,1]
        print(a)
        a.remove(3)
        print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    (Ⅲ)列表排序

    sort永久修改,修改之后就是有序,sort返回一个有序副本

    
    if __name__ == '__main__':
        # 有一定元素的列表
        a=[6,5,4,3,2,1]
        # 先查看a的内容顺序
        print(a)
        # sorted返回一个a的有序副本,不修改a
        print(sorted(a))
        # sort永久修改a
        a.sort()
        print(a)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    (3)反转列表元素顺序

    
    if __name__ == '__main__':
        # 有一定元素的列表
        a=[23,343,54643,123]
        # 先查看a的内容顺序
        print(a)
        # 顺序颠倒
        a.reverse()
        print(a)
        # 颠倒后再次颠倒就变成原来的顺序了
        a.reverse()
        print(a)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    (4)Deep-Copy列表和列表切片

    (Ⅰ)负数索引

    Python中使用-1索引访问是访问列表最后一个元素,-2是倒数第二个,-3是倒数第三个。代码从略。

    (Ⅱ)range函数的使用

    range()函数:
    range(1,6)表示产生[1,6)之间的所有整数,注意,6那里是开区间,所以只有1~5!!
    range(1,100,2)表示产生1~99之间的数列,该数列公差为2,说白了就是先产生一个1,然后每次+2,加到最后那个数是小于100的最大整数。这里跟那个Matlab的语法很相似!!而且这里1只是代表了从1开始到小于100为止,你还可以从100开始,到-100也行,也就是range(100,-100,-1)也是没问题的!!,就是公差别写成1了,要写成-1,不然的话就返回空数列了!!

    if __name__ == '__main__':
        # 有一定元素的列表
        a=[23,343,54643,123]
        for it in range(100,-100,-1):
            print(it)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (Ⅲ)列表切片

    list2 = list1[:] 表示整个列表深度复制,列表内容一样,列表元素的地址都不一样
    list2 = list1[1:9]表示把list1从索引1索引8的所有元素深度复制

    list2 = list1[:3] 表示把list1从首元素到索引为2的所有元素深度复制

    二、字典(K-V-Mapping)

    (1)字典的基本性质

    字典就是C++中的map或者HashMap,
    键值对,每一个唯一的Key对应一个不一定唯一的Value,也就是Key唯一,Value不一定唯一,在python中,字典就是这种关系的体现,KV之间以:为分隔符,比如

    if __name__ == '__main__':
        # 有一定元素的列表
        m1={
            'r':1,
            'g':2,
            'b':3
        }
        # 空字典
        m2 = {}
        print("m1 str = "+str(m1))
        print("m2 str = " + str(m2))
        # 如果key不存在则自动创建一个,并且为改key对应的value赋值
        # m2字典退化成为一个C中的数组了,因为是int对应int
        m2[1]=10 
        m2[2]=20
        print("m2 str = " + str(m2))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    (2)字典的3种遍历方法以及删除方法

    keys方法得到所有key的,values方法得到所有value,items方法得到所有的K-V键值对,del语句根据字典变量指定的key来删除KV键值对
    字典的增加KV的方法在字典的基本性质里面有,就是上面的一个代码块👆

    
    
    if __name__ == '__main__':
        # 有一定元素的列表
        m1={
            'r':1,
            'g':2,
            'b':3
        }
        # keys方法得到所有key
        for key in m1.keys():
            print("key = " + str(key) + " , value = " + str(m1[key]))
    
        # values方法得到所有value
        for val in m1.values():
            print("value = " + str(val))
    
        for k,v in m1.items():
            print("key = " + str(k) + " , value = " + str(v))
    
        print("删除一对键值对之后")
        del m1['r']
        # 删除一组键值对
        for key in m1.keys():
            print("key = " + str(key) + " , value = " + str(m1[key]))
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
  • 相关阅读:
    Java基础(一文读懂Java基础)
    nlp实战——使用IMDB数据集做情感分析
    动手学习深度学习08----线性模型+基础优化算法
    java编写交换字符
    改变自己 只需要两年
    修改Ehcache缓存中取到的值,缓存中的值也被修改了
    入门力扣自学笔记111 C++ (题目编号622)
    聊聊我对敏捷项目交付的理解
    java高级:动态代理
    【Linux】多线程_7
  • 原文地址:https://blog.csdn.net/weixin_46028606/article/details/125441303