• Python-公共操作与推导式


    一、公共操作

    1. 运算符
      (1)+:合并操作符
      适用范围:字符串、列表、元组
      (2)*:复制
      适用范围:字符串、列表、元组
      (3)in:判断某字符串存在
      (4)not in:判断某字符串不存在
    list1=[1,2]
    list2=[3,4]
    t1=(1,2)
    t2=(3,4)
    dict1={'name':'Tony'}
    dict2={'age':18}
    dict3={'name':'Tom','age':20}
    print(list1+list2)#[1,2,3,4]
    print(t1+t2)#(1,2,3,4)
    print(dict1+dict2)#{'name':'Tony','age':18}
    print('Tony' in dict3)#False
    printt('Tom' in dict3)#True
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    1. 公共方法
      (1)len():计算容器中元素个数
    dict1={'name':'Tom','age':20}
    print(len(dict1))#2  字典中的元素个数是指字典中的键值对个数
    
    • 1
    • 2

    (2)del/del():删除
    (3)max():返回容器中元素最大值
    (4)min():返回容器中元素最小值
    (5)range(start,end,step):从start开始按step为间隔向后遍历元素直至end
    如果不写开始则默认从0开始,如果不写步数则默认步数为1
    range生成的序列不包括end

    for i in range(1,10,1):
    	print(i)
    #1 2 3 4 5 6 7 8 9
    for i in range(10):
    	print(i)
    #**0** 1 2 3 4 5 6 7 8 9
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    (6)enumerate(可遍历对象,start=0):遍历容器中元素,返回结果为元组(该元素对应下标,该元素对应数据)
    start用于设置遍历数据下标的起始值

    list=['a','b','c','d','e']
    for i in enumerate(list):
    	print(i)
    	#(0,'a')
    	 (1,'b')
    	 (2,'c')
    	 (3,'d')
    	 (4,'e')
    for i in enumerate(list,start=1):
    	print(i)
    	#(1,'a')
    	 (2,'b')
    	 (3,'c')
    	 (4,'d')
    	 (5,'e')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    1. 容器类型转换
      (1)tuple():将某个序列转换为元组
    list1=[1,2,3,4,5]
    s1={10,20,30,40,50}
    print(tuple(list1))#(1,2,3,4,5)
    print(tuple(s1))#(10,20,30,40,50)
    
    • 1
    • 2
    • 3
    • 4

    (2)list():将某个序列转换为列表

    t1=('q','u','o','i')
    s1={1,2,3,4,5}
    print(list(t1))#['q','u','o','i']
    print(list(s1))#[1,2,3,4,5]
    
    • 1
    • 2
    • 3
    • 4

    (3)set():将某个序列转换为集合
    可以利用集合的性质对元素进行快速去重

    二、推导式

    1. 列表推导式
      例题:创建一个0-10的列表
    #(1)while循环实现
    list1=[]
    i=0
    while i<10:
    	list1.append(i)
    	i+=1
    print(list1)
    #(2)for循环实现
    list1=[]
    i=0
    for i in range(10):
    	list1.append(i)
    	print(list1)
    #(3)列表推导式实现
    list=[i for i in range(10)]
    print(list)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    如上述代码(3),for循环前的i是作为表达式的返回值加入空列表中

    例题:创建0-10的偶数列表

    #(1)用range()实现
    list1=[i for i in range(0,10,2)]
    #(2)if实现
    list1=[i for i in range(10) if i%2==0]
    
    • 1
    • 2
    • 3
    • 4

    例题:形成[(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]

    list=[(i,j) for i in range(1,3) for j in range(3)]
    
    • 1
    1. 字典推导式
      例题:创建一个字典,字典的key为1-5,value为这个数字的二次方
    dict={i:i**2 for i in range(1,5)}
    
    • 1

    例题:将两个列表合并为一个字典

    list1=['name','age','gender']
    list2=['Shirly',18,'女']
    dict={list1[i]:list2[i] for i in range(len(list1))}
    
    • 1
    • 2
    • 3

    例题:提取字典中的目标元素,且目标元素均大于200

    counts={'a':135,'b':666,'c':250,'d':999,'e':'888'}
    count={key:values for key,values in counts.items() if value>200}
    
    • 1
    • 2
    1. 集合推导式
      例题:创建一个集合,数据为下方列表的二次方
    list=[1,1,2,3,4]
    set={i**2 for i in list}
    
    • 1
    • 2
  • 相关阅读:
    C++ 类与对象(详细复习篇下)
    Java使用多线程做批处理(查询大量数据)
    Spring系列-SpringMvc父子容器启动原理解析
    进程状态分析
    k8s集群中部署prometheus server
    第二十九章 管理许可(二)
    猜数字游戏
    ModuleNotFoundError: No module named 'XXX'
    Jmeter-线程组下篇
    集群节点批量执行 shell 命令
  • 原文地址:https://blog.csdn.net/2301_79902854/article/details/136405723