博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python入门-数据类型
阅读量:5081 次
发布时间:2019-06-12

本文共 8210 字,大约阅读时间需要 27 分钟。

#一、列表和列表操作 stus = ["张柏芝","朱一龙","王凯"]   #一维数组 stus2 = [1,2,3,4, ['a','b','c','d']   ] #2维数组 stus3 = [1,2,3,4,['a','b','c','d',['test','dev','pre']]]      #三维数组 list = []  #空列表 list = list()   #空列表 #取值 print(stus3[4][4][1])  #test #增 msg = '杨紫' stus = ["张柏芝","朱一龙","王凯"] stus.append(msg)    #在list的末尾增加一个元素 stus.insert(1,msg)  #从指定位置插入元素,这个1代表下标 #如果指定的下标不存在,那么会把元素插入到最后 #查 msg = '杨紫' stus = ["张柏芝","朱一龙","王凯"] print('单个取',stus[0])  #h获取第一个元素 print('最后一个元素',stus[-1]) #-1代表最后一个元素 #查询可以通过for循环遍历 # for 循环遍历字符串 # for 变量 in 可迭代对象 #     循环体 # stus = ['chengweiliang','chenqi','guoliwen'] for stu in stus:#for循环直接循环一个list,就是取list里面的每一个元素     print('每次循环取的值',stu)     username = 'szz-'+stu     print(username) #改 stus = ["张柏芝","朱一龙","王凯"] stus[4] = 'baby' #修改指定位置的值 print('改之后的',stus) # #删 stus = ["张柏芝","朱一龙","王凯"] stus.remove('王凯')   #删除指定的值,如果list里面有多个一样的元素,那么就只会删掉一个 del stus[0] #删除指定位置的值 stus.pop()  #不传入下标的话,删除最后一个值 stus.pop(2) #传入下标删除指定位置的值 stus.clear()    #python3清空列表 #其他常用方法 stus = ["张柏芝","朱一龙","王凯"] print(stus.count('王凯')) #某个元素在list里面的数量 new_stus = stus.copy()#复制一个 print(new_stus) stus.reverse()  #反转数组,会改变原数组的值 nums = [9,23,12,234,23,5235,235,235,23523,523] print(stus.sort())  #排序,从小到大排序,根据ASCII来排序 print(stus.sort(reverse=True)#排序,从大到小排序 stus.extend(nums)  #扩展列表,也就是把nums的值加到stus里面 print(stus.index('王凯')) #找某个元素的下标 #range range() 可迭代对象 range(参数) [0, 参数) range(参数1,参数2) [参数1, 参数2) range(参数1,参数2,step) [参数1,参数2) 每隔step取一个 # # # 重点 for i in range(len(lst)):          i 索引          lst[i] 元素   print(i, lst[i]) stus = ['zhangbaizhi','zhiyilong','wangkai'] for i in range(len(stus)):  #b     username = stus[i]     print(username) l = list(range(3)) print(l)    #[0, 1, 2] stus = ['zhangbaizhi','zhiyilong','wangkai'] username='' #sql='insert into user (username,password) value ("%s","%s");'%(username,password) password='123456' index = 0 while index
>> 1,3,5,7,9 print(nums[1:8:3]) # 代表取第二个元素开始,到第8个元素,隔3个取一次,执行结果2,5,8 print(nums[5:1:-1]) #倒序取,[6,5,4,3] #二、字典 #字典以key:value形式存储,{}表示,是无序的 stu_info = \ {
'username':'qx', 'password':'123456', 'money':20, 'addr':'上海' } #字典的key是唯一的。相同key会覆盖前面的 #字典的增删改查 d1 = {} #创建空字典 d2 = dict() #创建空字典 # #增: d1['name'] = '胖妞'#没有就新增,有就修改 d1['age'] = 18 d1.setdefault('class','双子座') print('之前的',d1) #之前的 {'name': '胖妞', 'age': 18, 'class': '双子座'} d1.setdefault('age',30) #如果使用setdefault,key已经存在了,就不会修改原来key的值 print('之后的',d1) #不会修改age的值 之后的 {'name': '胖妞', 'age': 18, 'class': '双子座'} d1['name'] = '胖妞2' #没有就新增,有就修改 print('之后的2',d1) #{'name': '胖妞2', 'age': 18, 'class': '双子座'} #改: d1['name'] = '胖妞3' #删除: d1.pop('name')#标准的删除方法,若key不存在报错 del d1['name']#使用del方法删除,若key不存在报错 d1.popitem() #随机删除一个值 d1.clear() #清空 #查询: id.get('name')#获取name的信息,这种方式如果key不存在的话,会返回None id['name']#获取name的信息,这种方式如果key不存在的话,会报错 'name' in id #判断name是否在这个字典中,返回True或者False #内置方法: dic = {'stu1':'cc','stu2':'andashu','stu3':'niuniu'} print(dic.values())#打印所有value,执行结果['andashu', 'niuniu', 'cc'] print(dic.keys())#打印所有的key,执行结果['stu2', 'stu3', 'stu1'] print(dic.setdefault('stu1','fengluo'))#如果这个key存在的话,那就不动它,不存在的话,添加一个,cc dic2 = {'stu1':'sriba','stu10':'baidu'} dic.update(dic2)#更新字典值,将字典dic2加入到字典dic如果key存在的话,就更新,不存在的话就添加 print(dic.items())#字典转换成一个list,拿到所有的键值对, # 执行结果[('stu2', 'andashu'), ('stu3', 'niuniu'), ('stu1', 'sriba'), ('stu10', 'baidu')] #循环字典 users = {
"niuhanyang":'123456sdf', "niuhanyang2":'123456sd', "niuhanyang3":'123456sdf', "niuhanyang4":'1234sdf56', "niuhanyang5":'12345gsdfs6', "niuhanyang6":'1234324g56' } #把字典里面每个用户的密码,前面都加上 username_ + #1、循环这个字典 #2、把value修改成value = key_+value for k in users: #直接循环一个字典的话,循环的是key value = users[k] #通过key取到value users[k] = '%s_%s'%(k,value) print(users) for k,v in users.items(): print('%s===>%s'%(k,v)) users[k] = '%s_%s' % (k,v) print(users[k]) stus = [ {"name":"小白","age":18,'addr':"北京"}, {"name":"小黑","age":28,'addr':"上海"}, {"name":"小hong","age":28,'addr':"上海"}, {"name":"小zi","age":28,'addr':"上海"}, {"name":"小lv","age":28,'addr':"上海"}, {"name":"小5","age":28,'addr':"上海"} ] for stu in stus: stu['phone'] = '159111111' print(stus) stus = {
"胖妞": {
"house": ['三环', "四环", "七环"], "car": {
"日本": ["雷克萨斯", "英菲尼迪"], "中国": ['五菱宏光', '红旗', '比亚迪', "宝骏"], "美国": ["福特", "凯迪拉克"] }, "化妆品": {
"SK-2": 1000, "YSL": 8000 } }, "陆明":{
"money":[1000,5000,8000,800000], "xifu":{
"越南":2, "伊拉克":10, "韩国":2, "泰国":3 } } } #1、统计胖妞总共有多好辆车 cars = stus["胖妞"]["car"] # print (cars) carcount = 0 for car in cars.values(): # print(car) # print(len(car)) carcount += len(car) print("胖妞共有%s辆车!" %carcount) # #2、胖妞又买了,德国车2辆,奥迪、奔驰 stus["胖妞"]["car"].update({"德国":["奥迪",'奔驰']}) print(stus) # #3、胖妞的化妆品全被男朋友扔了 stus["胖妞"].pop("化妆品") print(stus) #三、元组 #元组与列表不同的是,元组的值不能改变,可以查询,迭代for循环 mysql_coon = ('192.168.1.109','root','123456',3306,'my_db')#定义元组,定义好后不可修改,修改会报错 # #元组只有两个方法index和count print(mysql_coon[0]) print(mysql_coon.count('root')) print(mysql_coon.index("root")) # #元组只有一个元素时,要加"," tu = (1,) #四、字符串和字符串操作 str = ' ca th y ' #字符串去除空格方法 print(str.strip()) #默认去掉两边的空格和换行 print(str.lstrip()) #默认去掉左边的空格和换行 print(str.rstrip()) #默认去掉右边的空格和换行 #去除字符串全部空格 #1、使用replace # replace主要用于字符串的替换replace(old, new, count) print(str.replace(' ','')) #2、使用join+split # join为字符字符串合成传入一个字符串列表,split用于字符串分割可以按规则进行分割 str = ''.join(str.split()) # str.split() #字符串按空格分割成列表 ''.join(str.split()) #使用一个空字符串合成列表内容生成新的字符串 print(str) #3、使用正则表达式 import re str = re.sub(r"\s+","",str,flags=re.UNICODE) print(str) print(str.index('d')) #查找字符串的索引,找不到报错 print(str.find('d')) #查找字符串的索引,找不到返回-1 str = 'cathy' print(str.capitalize()) #首字母大写 print(str.lower())#全部变成小写 print(str.upper())#全部变成大写 print(str.replace('c','C',1))#替换字符串 print('abc.jpg'.endswith('.jpg'))#判断是否以XX结尾,返回True,False print('abc'.startswith('c')) #判断是否以XX开头,返回True,False print("欢迎登陆".center(100,'*')) #把欢迎登陆放中间,前后补*达到100个字符 print(str.zfill(40)) #指定长度的字符串,原字符串右对齐,前面填充0 print(str.expandtabs(30))#补当前字符串中\t的次数 username = 'cathy' today = '2019-04-02' str2 = '欢迎{}登陆,今天的日期是{}.' print(str2.format(username,today))#格式字符串 str3 = '欢迎{username}登陆,今天的日期是{today}.' print(str3.format(username = 'cathy',today = '20190403')) print(str3.format_map({'username':'cathy','today':'20190403'})) #格式字符串字典类型 print(' '.isspace()) #判断是否为空格 print('123abc'.isalnum())#是否包含数字和字母,没有%%##@特殊字符串就返回true print('abc'.isalpha())#是否是英文字母,不是数字、不是特殊符号就返回true print('122'.isdigit())#是否是数字 print('aa'.isidentifier())#是否是一个合法的变量名 print('aa'.islower())#是否是小写字母 print('AA'.isupper())#是否是大写字母 print('Loadrunner Book'.istitle())#是不是一个标题,判断首字符是否是大写 print('+'.join(['hehe','haha','ee']))#拼接字符串,hehe+haha+ee ###maketrans() 方法用于给 translate() 方法创建字符映射转换表 ##python3.4以后不需要从外部string模块来调用maketrans()方法,用内建函数bytearray.maketrans()、bytes.maketrans()、str.maketrans()。 ##python3中: ##p = str.maketrans('abcdefg','1234567')#前面的字符串和后面的字符串做映射 ##第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串,表示转换的目标。两个字符串的长度必须相同,为一一对应的关系 ##print('cc ae gg'.translate(p))##输出按照上面maketrans做映射后的字符串 ##python2中: import string p = string.maketrans('abcdefg','1234567') print('cc ae gg'.translate(p))#结果为33 15 77 print('mysql is is db'.rfind('is'))#返回最右边字符的下标 print('1+2+3+4'.split('+'))#切割字符串,返回一个list print('1+2+3\n1+2+3+4'.splitlines())#按照换行符分割 print('Abcdef'.swapcase())#大小写反转 s=""" 寂寞当然有一点 你不在我身边 总是特别想念你的脸 距离是一份考卷 测量相爱的誓言 最后会不会实现 我们为爱还在学 学沟通的语言 学着谅解 学着不流泪 等到我们学会飞 飞越黑夜和考验 日子就要从孤单里毕业 我们用多一点点的辛苦 来交换多一点点的幸福 就算幸福 还有一段路 等我们学会忍耐和付出 这爱情一定会有张证书 证明 从此不孤独 从此不孤独 """ # 字符串是不能被修改的 file_name = input('请上传文件,文件只能是zip压缩包') if file_name.endswith('.zip'): print('没问题') else: print('文件格式错误!') # 三元运算符 # 三元运算就是在赋值变量的时候,可以直接给它加上判断后,再赋值 # 用法:res = 值1 if 条件 else 值2 a = 5 b = 4 c = a if a>b else b #如果a>b ,c=a,否则c=b,不用三元运算,则如下面的写法 if a > b: c = a else: c= b #三元运算符用于列表和字典 nums = [1,2,3,4,5,6,7,8,9,10] #old_num = [num for num in nums if num%2!=0] #循环num,如果nums里面的值,不能被2整除的话,就写到old_num 列表中。等于下面的写法: old_num = [] for num in nums: if num % 2 !=0: old_num.append(num)

转载于:https://www.cnblogs.com/qx21007874/p/10653959.html

你可能感兴趣的文章
(旧笔记搬家)struts.xml中单独页面跳转的配置
查看>>
不定期周末福利:数据结构与算法学习书单
查看>>
strlen函数
查看>>
python的列表与shell的数组
查看>>
关于TFS2010使用常见问题
查看>>
软件工程团队作业3
查看>>
python标准库——queue模块 的queue类(单向队列)
查看>>
火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题...
查看>>
深入理解JVM读书笔记--字节码执行引擎
查看>>
vue-搜索功能-实时监听搜索框的输入,N毫秒请求一次数据
查看>>
批处理 windows 服务的安装与卸载
查看>>
React文档翻译 (快速入门)
查看>>
nodejs fs路径
查看>>
动态规划算法之最大子段和
查看>>
linux c:关联变量的双for循环
查看>>
深入浅出理解zend framework(三)
查看>>
python语句----->if语句,while语句,for循环
查看>>
javascript之数组操作
查看>>
LinkedList源码分析
查看>>
TF-IDF原理
查看>>