python使用(二)

python使用(二)

大家好,又见面了,我是全栈君。

Python中的集合类型.

1.list_option.py

2.listsplit_option.py

3. dic_option.py

4.iter_option.py

 

1.list_option.py

 1 # coding=utf8  2 __author__ = 'SummerChill'  3 #list 有序的列表、元素可以是不同类型的,元素值可以重复  4  5 #list的初始化  6 l=list()  7 l=[]  8 l=[1,2,3,'crxy',[1,2,3]]  9 l=['a','b','c','d','b','b','e']  10  11 #增加元素  12 #追加元素list的末尾  13 l.append('new')  14 #添加元素到指定的索引位置  15 l.insert(2,'Two')  16  17 #删除元素  18 #根据索引删除 如果索引缺省则会删除末尾的元素  19 l.pop()  20 l.pop(1)  21 #根据value删除 只会删除第一个出现的value为'b'的元素  22 l.remove('b')  23  24 #修改元素  25 l[3]='Three'  26  27 #查询 如果index为整数表示索引,如果是负数表示取倒数第几个  28 # print(l[2])  29 # print(l[-2])  30  31 # 最终打印的结果  32 # c  33 # b  34  35 #tuple 元组 和list类似 只是一旦初始化在不能修改 只能查询和遍历  36 #主要用作函数的返回值  37 t=()  38 t=tuple()  39 t=(1,2,3,'a','b')  40  41 #t[1]='new' #NO!!!!!  42 # TypeError: 'tuple' object does not support item assignment  43  44 # print(t[1])  45 # print(t[-1])  46  47  48 #########字符串的操作返回一个副本  49 data='str'  50 result=data.upper()  51 print(data,result)#('str', 'STR')  52  53 #########list的操作作用在list本身  54 l=[1,2,3]  55 result=l.append(4)  56 print(l,result)#([1, 2, 3, 4], None)#返回None说明append没有返回值  57 ###############################################  58  59 print(l)  60 #拓展list 在list的尾部扩展增加新的集合  61 l.extend(['as','s','a','b'])  62 print(l)#[1, 2, 3, 4, 'as', 's', 'a', 'b']  63  64 #统计list中某个元素的出现的次数  65 print(l.count('a'))#1  66 #统计list中某个元素的出现的index 返回第一个匹配的元素的索引  67 print(l.index('a'))#6  68  69 #指定区间的查找 start stop 包含start 不包含stop  70 #查不到报错不在list中。  71 #print(l.index('a',2,5))#ValueError: 'a' is not in list  72 print(l.index('a',2,9))#6  73  74 #反转 倒叙排列  75 l.reverse()  76 print(l)#['b', 'a', 's', 'as', 4, 3, 2, 1]  77 l.sort()  78 print(l)#[1, 2, 3, 4, 'a', 'as', 'b', 's']  79  80  81 #排序需求:按照元素的长度来排序  82 #通过key指定的函数来查找要排序的依据。key_fun(item)  83 #将key_fun(item)的返回值,传入 cmp_fun(x,y) 进行比较并排序。  84 #cmp_fun(x,y)返回值决定了排序的位置。如果 cmp_fun(x1 ,x2) <0 x1排在x2的前面。  85 l=['b','a','c','one','two','three','four']  86 def key_fun(item):  87 return len(item)  88 #如果item是int类型的,是不能调用len()方法的.  89 #TypeError: object of type 'int' has no len()  90  91 def cmp_fun(x,y):  92 return x-y  93  94 #自定义排序  95 l.sort(key=key_fun,cmp=cmp_fun)  96 print(l)#['b', 'a', 'c', 'one', 'two', 'four', 'three']  97  98 #lamda表达式 起到了函数速写的功能,允许在代码内嵌入一个函数的定义。类似于匿名函数  99 l.sort(key=lambda item:len(item),cmp=lambda x,y:x-y) 100 print(l)#['b', 'a', 'c', 'one', 'two', 'four', 'three'] 101 102 t=('a','b','c','a') 103 #count value的出现次数 104 print(t.count('a')) 105 # 查找tuple中value的index 如果不存在则报错 ValueError: tuple.index(x): x not in tuple 106 print(t.index('c'))

 

 

2.listsplit_option.py

 1 # coding=utf8  2 __author__ = 'SummerChill'  3  4 #L[m:n]表示,从索引m开始取,直到索引n 但包含索引n;  5 #L[m:n:p]表示:从索引m开始到索引n取数据,但包含索引n,每p个取一个。  6  7 l=['a','b','c','d','e','f','g']  8  9 #L[m:n]表示,从索引m开始取,直到索引n 但包含索引n; 10 print(l[1:5])#['b', 'c', 'd', 'e'] 11 #L[m:n:p]表示:从索引m开始到索引n取数据,但包含索引n,每p个取一个。 12 print(l[1:5:3])#['b', 'e'] 13 14 # m n p 可以为负数 15 #m、n为负数表示倒数第几个 前面包含后面不包含 16 print(l[-5:-1])#['c', 'd', 'e', 'f'] 17 #p<0 从尾部向首部取元素 18 print(l[5:1:-1])#['f', 'e', 'd', 'c'] 19 20 print(l[-1:-4:-2])#['g', 'e'] 21 22 #m n p 可以缺省 23 #m不写从头开始取 n不写取到尾部 p不写默认为1 24 print(l[::])#['a', 'b', 'c', 'd', 'e', 'f', 'g'] 25 print(l[:5:2])#['a', 'c', 'e'] 26 print(l[1::2])#['b', 'd', 'f'] 27 print(l[1:5])#['b', 'c', 'd', 'e'] 28 print(l[5:1])#[]

 

 

 3. dic_option.py

 1 # coding=utf8  2 __author__ = 'SummerChill'  3  4 #初始化字典  5 dic=dict()  6 dic={ 'a':'A','b':'B','c':'C'}  7  8 #增加和修改  9 dic['c']='New' 10 dic['d']='D' 11 #删除指定的key 12 dic.pop('b') 13 print(dic)#{'a': 'A', 'c': 'New', 'd': 'D'} 14 15 #查询 dic['g'] 如果key不存在则会报错 dic.get(key,defaultvalue) 16 #如果有默认值在key不存在的情况下会返回默认值 17 #print(dic['g'])#报错 KeyError: 'g' 18 19 print(dic.get('g','defalut'))#defalut 20 print(dic.get('a','defalut'))#A 21 print(dic.get('g'))#None 22 23 #判断是否包含key 24 print(dic.has_key('g'))#False 25 26 #list中的元素为tuple类型。 27 print(dic.items())#[('a', 'A'), ('c', 'New'), ('d', 'D')] 28 #list 其中的元素就是key或者value本身 29 print(dic.keys())#['a', 'c', 'd'] 30 print(dic.values())#['A', 'New', 'D'] 31 32 ##############set 元素不能重复 重复的会自动过滤 33 s=set() 34 s=set([1,2,3,4,1,2,3]) 35 print(s)#set([1, 2, 3, 4]) 36 37 #增加元素 38 s.add(6) 39 #删除元素 40 s.remove(2) 41 42 43 #print(s[1]) NO !!!!!!!!!!!!! 44 # 'set' object does not support indexing 45 46 #想把2改为6 分两步 47 # s.remove(2) s.add(6) 48 print(s)#set([1, 3, 4, 6]) 49 #set 转为list 50 l=list(s) 51 print(l)#[1, 3, 4, 6] 52 #list 转为set 53 s=set(l) 54 print(s)#set([1, 3, 4, 6]) 55 56 #遍历set的元素 57 for i in s: 58 print(i)# 1 3 4 6 59 60 s.clear()

 

 

 4.iter_option.py

 1 # coding=utf8  2 __author__ = 'SummerChill'  3  4 sl=[1,2,3]  5 sd={ 'a':'A','b':'B'}  6  7 #列表生成式 从一个或者多个集合中遍历得到元素然后再筛选计算得到一个新的list  8 #for if  9 #sl中元素分别平方组成新的元素  10 l=[x*x for x in sl if x%2==0]  11 print(l)#[4]  12 l2=[x*x for x in sl]  13 print(l2)#[1, 4, 9]  14 #sd 里面的key和value组合成一个list。key value组合['a A','b B']  15 l=[ k+' '+v for k,v in sd.items()]  16 print(l)#['a A', 'b B']  17 print(sd.items())#[('a', 'A'), ('b', 'B')]  18  19 #复合循环  20 l=[x*y for x in sl for y in sl if x+y>=3]  21 print(l)#[2, 3, 2, 4, 6, 3, 6, 9]  22  23 l=[x*x for x in [1,2,3,4,5,6]]  24 print(l)#[1, 4, 9, 16, 25, 36]  25  26 ###列表生成器 并没有生成一个列表  27 g=(x*x for x in [1,2,3,4,5,6])  28 #用next(g) 读取生成器的元素 但是如果遍历到末尾再查询会报错  29 #print(next(g))#1  30 #print(next(g))#4  31 #print(next(g))#9  32 #print(next(g))#16  33 #print(next(g))#25  34 #print(next(g))#36  35 #print(next(g))#到这个地方报错...g中的元素都找完了.  36  37 for i in g:  38 print(i) # 1 4 9 16 25 36  39  40  41 l=[1,2,3]  42 t=(1,2,3)  43 d={ 'a':'A','b':'B'}  44 s=set([1,2,3])  45  46 #默认的遍历  47 #遍历元素本身  48 for i in l:  49 print(i)#1 2 3  50 for i in t:  51 print(i)#1 2 3  52 for i in s:  53 print(i)#1 2 3  54 #对于字典 默认遍历的是key  55 for i in d:  56 print(i)#a b  57  58  59  60 for k,v in d.items():  61 print(k,v)#('a', 'A') ('b', 'B')  62 for k in d.keys():  63 print(k)#a b  64 for v in d.values():  65 print(v)#A B  66 ###############################  67 #迭代  68 #dict  69 # d.iteritems()  70 # d.iterkeys()  71 # d.itervalues()  72 for k ,v in d.iteritems():  73 print(k,v)#('a', 'A') ('b', 'B')  74 for k in d.iterkeys():  75 print(k)#a b  76 for v in d.itervalues():  77 print(v)#A B  78  79  80 ##其他的集合:使用iter函数构造一个迭代器  81 print(l)#[1, 2, 3]  82 for i in iter(l):  83 print(i)#1 2 3  84  85 print(t)#(1, 2, 3)  86 for i in iter(t):  87 print(i)#1 2 3  88  89 print(s)#set([1, 2, 3])  90 for i in iter(s):  91 print(i)#1 2 3  92  93 #遍历时候加上索引 通过enumerate  94 print(l)#[1, 2, 3]  95 for i,v in enumerate(l):  96 print(i,v)#(0, 1) (1, 2) (2, 3)  97  98 print(t)#(1, 2, 3)  99 for i,v in enumerate(t): 100 print(i,v)#(0, 1) (1, 2) (2, 3) 101 102 print(s)#set([1, 2, 3]) 103 for i,v in enumerate(s): 104 print(i,v)#(0, 1) (1, 2) (2, 3) 105 106 #dict 遍历的是key 107 print(d)#{'a': 'A', 'b': 'B'} 108 for i,k in enumerate(d): 109 print(i,k,d.get(k))#(0, 'a', 'A') (1, 'b', 'B') 110 111 #for i in range(10)类似与for(int i=0;i<10;i++;)

 

转载于:https://www.cnblogs.com/DreamDrive/p/5931104.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108850.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • excel怎么赋值0和1_excel单元格默认值

    excel怎么赋值0和1_excel单元格默认值getCell 获取列 需要用 createCell获取即可。导出报表时,明明是有数据的可就是报空指针异常。排查后发下报表表格没内容时不能用。

  • MySQL 8.0修改密码_oracle和mysql区别

    MySQL 8.0修改密码_oracle和mysql区别1、mysql-uroot-p’原来的密码’ //进入数据库中2、showdatabases;3、usemysql;4、使用下面的语句修改密码:  ALTERUSER’root’@’localhost’IDENTIFIEDWITHmysql_native_passwordBY’你的密码’;    ALTERUSER’root’@’lo…

  • Linux(Ubuntu)系统查看显卡型号

    Linux(Ubuntu)系统查看显卡型号给我的Ubuntu安装显卡驱动时,需要查看显卡型号,因为我的是Windows/Ubuntu双系统,一开始想到的是去windows查看,然后下载驱动,安装成功。方法一、lspci|grep-ivga后来想看一下linux怎么查看显卡型号,搜到命令lspci|grep-ivga,但返回的是一个十六进制数字代码,如下图:遂,继续百度,但都只是说了命令,没解释返回结果什么意思。又……

  • android之activity的生命周期详解

    刚在看mars老师的视频,看到activity的生命周期,感觉挺有收获,就总结了一下.为了更清楚的看清楚工作的具体过程,举例如下:,建立两个activity,一个main,一个another,在main里面放置button加监听器跳转向another,在每个复写的activity的状态方法里都加一个log输出,比如onCrea

  • kali无法安装arpspoof_kali怎么装arpspoof

    kali无法安装arpspoof_kali怎么装arpspoof第一步换源进入cd/etc/apt更换两个源地址devhttp://archive.ubuntu.com/ubuntu/trustymainuniverserestrictedmultiversedev-srchttps://mirrors.aliyun.com/kalikali-rollingmainnon-freecontrib图片为添加位置输入a…

  • Spidermonkey_gomonkey

    Spidermonkey_gomonkey参考如下:最近升级了系统到MacOSX10.10并且更新了XCode6.1和iOS8.1之前app用到的libmp3lame.a静态库,也要支持64位的模拟器(x86_64)和64位的真机(arm64)指令集。需要重新编译查阅了下资料,按照如下步骤,并做了些注释和改动1.http://sourceforge.net/projects/lame/files/lame/3.9…

    2022年10月16日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号