python数据类型哪些是无序的 |
您所在的位置:网站首页 › python集合包括哪两种类型 › python数据类型哪些是无序的 |
一、数字 数字类型包含整型、浮点型,还包含不太常用的长整型、复数。 二、字符串 定义:在单引号\双引号\三引号内,由一串字符组成 msg='hello world' 1、切片 print(msg[1:8]) #从下标为1的字符开始取,顾头不顾尾,所以取到第七个字符,所以得到ello wo,空格也是一个字符 print(msg[1:8:2]) #从下标为1的字符开始取,顾头不顾尾,所以取到第七个字符,步长为2,取一个跳过一个,得到el o print(msg[0]) #取出下标为0的字符、就是第一个字符,得到h print(msg[-1]) #取出最后一个字符,得到d 2、长度 print(len(msg)) #变量msg的字符串长度,得到11 3、成员运算in和not in,看所取得字符是否在变量定义的字符串里 print('llo' in msg) #‘llo’在变量定义的字符串里,所以返回True 4、移除空白strip name='**********hello***********' print(name.strip('*')) #去掉hello两边的* print(name.lstrip('*')) #去掉hello左边的* print(name.rstrip('*')) #去掉hello右边的* #和用户交互常用的情况如下 name=input('user: ').strip() #对用户输入的字符串去掉两边的空格 print(name) 5、切分 info='root:x:0:0::/root:/bin/bash' res=info.split(':') #以冒号为分隔符对字符串进行分割,分割后会变成列表的形式 res=info.split(':',1) #以冒号为分隔符对字符串进行分割,并指定分割最大次数为1,方便取出第一个冒号前的字符串 res=info.rsplit(':',1) #从右进行切分,切分一次,结果是按照最后的冒号把字符串切为两部分 6、循环 for i in range(0,5,2): #0到4之间,步长为2,所以得到结果0 2 4 print(i) 7、lower,upper print('AbcD'.lower()) #把字符串全部显示成小写,结果是abcd print('aaa'.upper()) #把字符串全部显示成大写,结果是AAA 8、startswith,endswith msg='tom is boy' print(msg.startswith('tom')) #开头的是否是tom,返回True或者False,所以返回True print(msg.startswith('t')) #开头的是否是t,所以返回True print(msg.endswith('boy')) #末尾的是否是boy,所以返回True 9、join l=['root', 'x', '0', '0'] ':'.join(l) #把列表l里的元素通过冒号合并成一个字符串, 列表l里的元素必须全是字符串,否则报错 10、replace msg='tom say my name is tom' msg=msg.replace('alex','leader',1) #用leader替换tom,并且只替换一个 print(msg) 11、isdigit判断是否是数字 age=input('>>: ').strip() if age.isdigit(): #用户输入的是数字以后,将其转化成整型 age=int(age) else: print('必须输入数字') print(age,type(age)) 三、列表 1、定义:[]内可以有多个任意类型的值,逗号分隔 name=['zhao','qian','sun','li'] 2.方法append和extend,insert name.append('ni') #列表里添加元素ni l=['song','zhang'] name.extend(l) #列表里添加多个元素 print(name) name.insert(1,'wang') #插入元素wang,下标为1 3、方法index1print(name.index('zhao'))#显示元素zhao对应的下标 4、remove和pop 123name.remove('li')#删除元素li,但是拿不到取走的元素print(name)name.pop()#删除并拿到结果,取走一个值 5、循环 12for itemin name:print(item) 6、clear1name.clear()#清空列表 7、copy 12l=name.copy()#拷贝列表name,将结果作为变量l的值print(l) 8、count 1print(name.count('li'))#统计元素li出现在列表里几次 9、reverse1name.reverse()#将列表name元素倒向显示,结果为['li', 'sun', 'qian', 'zhao'] 10、sort排序 12345l=[1,10,4,11,2,]l.sort()#对列表里的元素排序print(l)l.sort(reverse=True)#对列表里的元素倒向排序print(l) 四、元组 1、与列表类型比,只不过[]换成() 存多个值,对比列表来说,元组不可变,主要是用来读1age=(11,22,33,44,55) 1、index 123print(age.index(11))#取出元组里元素11对应得下标print(age.index(3333))# 元素不存在时报错ValueError: tuple.index(x): x not in tupleprint(age[0:3])#取出元组里元素下标为0,1,2的子元组 2、长度len1print(len(age))#得到元组元素的个数 3、成员运算in和not in1print(11 in age)#判断元素11是否在元组里 4、循环 12for itemin age:print(item) 5、count1print(age.count(33))#判断元素33出现的次数 6、实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入 123456789101112131415161718msg_dic={'apple':10,'tesla':100000,'mac':3000,}goods=[]#购物车,准备一个空列表while True:for kin msg_dic:print(k,msg_dic[k])choice=input('name: ').strip()if len(choice)==0 or choicenot in msg_dic:#如果用户输入字符为空或者输入的不是指定的商品,就让用户重新输入continuewhile True:num=input('number: ').strip()if num.isdigit():breakgoods.append((choice,msg_dic[choice],int(num)))#注意括号容易少写print('购物车',goods) 五、字典 1、定义:key必须是不可变类型(int,float,str,tuple),value可以是任意类型1info={'name':'egon','age':18,'sex':'male'} 2、fromkeys1info={}.fromkeys(['name','age','sex'],None)#快速创建字典,前面列表的每个元素会和none组成字典的一个元素 3、修改字典的值1info['age']=22 #指定key,等于一个值 4、长度len1print(len(info))#判断字典的长度,即有几个元素 5、成员运算in和not in1print('name' in info) 6、删除pop 12print(info.pop('name'))#取出字典key为name的元素print(info)# 看到元素为name的键值对已经删掉了 7、popitem和keys、values 123456print(info.popitem())#取出后面的键值对,结果是('sex', 'male')print(info.keys())#取出字典里所有的key,结果是dict_keys(['name', 'age'])print(list(info.keys())[1])#取出字典里所有key的组合,转为列表,再根据下标取出对应得key,结果是ageprint(info.values())#取出字典里所有的value,结果是dict_values(['egon', 18])print(list(info.values())[1])#取出字典里所有value的组合,转为列表,再根据下标取出对应得value,结果是18print(list(info.items())[1])#取出键值对,最后的结果是('age', 18) 8、循环 123info={'name':'egon','age':18,'sex':'male'}for kin info:#循环key,最后通过key取到valuesprint(k,info[k]) 9、有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中 12345678nums=[11,22,33,44,55,66,77,88,99,90]d={'k1':[],'k2':[]}for numin nums:if num >66:d['k1'].append(num)if num ,>= 123a={1,2,3}b={1,2}print(a>=b)#判断集合a是否包含集合b的元素,所以结果为True 9、子集unicode 3、解释器的字符编码 python3解释器默认使用的字符编码是utf-8 python2解释器默认使用的字符编码是ascii 4、 python2的str就是python3的bytes python2的unicode就是python3的str 八、文件处理 1、打开文件读,python进程要访问文件,会向操作系统提交读请求,操作系统取到的数据交给进程,进程开辟内存空间存放数据,所以最后要关闭文件,回收操作系统的资源 12345f=open(r'C:\Users\song\Desktop\a.txt','r',encoding='utf-8')#最前面的r表示保持字符的本意,不然'\'就需要转意data=f.read()print(data)f.close()#文件关闭,回收操作系统的资源print(f.readline(),end='')#逐行读,文件大时,不能一次读所有数据,就需要逐行读了 2、为避免忘记关闭操作系统打开的文件,可以直接让程序关闭1withopen('a.txt','r',encoding='utf-8') as f: 3、写操作,每次执行都会清掉原来的数据,然后写入新的内容 1234f=open(r'C:\Users\song\Desktop\a.txt','w',encoding='utf-8')f.write('11111\n')f.write('1111\n2222\n3333\n')#写入多行时,行尾用'\n'标识f.close() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |