一、 数据类型 1.字符串 str ps:单双引号皆可包裹字符串;”+”可以拼接两个字符串 字符串的内置函数: name=”monDay” 注意:以下函数都不会改变原字符串,而是生成新的拷贝 name.capitalize() # (Monday) #首字母大写,其余字母小写(若首字符为空格,则第一个字母不会大写) name .lower() #将全体字符串小写 (monday) name .upper() #将全体字符串大写 (MONDAY) name .swapcase() #大写转换为小写,将小写转换为大写 (MONdAY) name .zfill(10) # (0000monDay) #定义字符串长度,若长度不足10,用0补齐在前面; 若长度足够,则无变化 name .count('a') # 统计a出现的次数,返回1,若a不存在,(返回0) name .index(‘b’) # 索引元素位置,找不到元素会导致程序报错 (报错) name .find(‘a’) # 索引,找不到元素会返回-1 (4) trip() #去掉开头、结尾的指定元素 lstrip() #去掉左边(开头)的指定元素 rstrip() #去掉右边(结尾)的指定元素 replace(old,new,num) #替换元素,替换次数,次数可选(不写次数替换全部) | person.update(user) # 给dict添加、更新key-value,参数user是dict books.get(key[, value]) #获取字典key对应的value,若key不存在,会返回默认值None;用books[key]获取value,若key不存在,会报错! 对比:update:有key则修改,无key则更新 setdefault:有key则返回key值,无key则添加key到dict中,返回新value get:获取指定key的值,有则返回,无则返回给的值,不会添加到dict中!! | |
list(books.keys()) # 获取dict中的key值,得到一个伪列表(无法修改、索引、使用函数),结合list使用,可以得到一个真列表 list(books. values()) #获取dict中的value值,用法同keys | ||
books.clear() # 清空字典,和列表的clear功能一样,返回None books.pop(‘C++’) # 删除指定key-value,返回value,若key不存在会报错 del books #直接删除整个字典 in与not in, 判断dict中是否有指定的key | ||
4.集合 set 无重复数据,无序 → 没有索引,可以通过set对list去重 用来处理字符串、列表的一种临时类型,不适合存储内容!!! 两种写法:(1) a_set={1,2,4} (2) b_set=set([1,2,3]) a_set.add(‘Mon’) #集合无序,所以加入元素后顺序不定(可能不在末尾) a_set.update(iterable) #一次添加多个元素iterable:集合/列表/元组/字符串 set.remove(item) 删除set中的元素,不存在会报错!!!无返回值 item是元素不是索引 a_set.clear() #清空set del a_set #不能通过索引删除指定元素! a.difference(b) #返回属于a且不属于b的元素组成的集合(a的差集) a.intersection(b,c) #括号中可以有多个set,以此返回a与b、c的交集.返回的是集合,可以通过list(a.intersection(b))将其变为一个列表 a.union(b,c) #a、b、c两个集合所有的不重复元素 → a bc的并集 a.isdisjoint(b) #判断两个集合是否不包含相同元素,有返回false,无返回true 5.元组tuple 元组创建后不能修改、添加,因此元组占用资源比列表小 name=tuple(('Jack','Rose')) sex=('boy','gril') TD=(900,) #只有一个元素时,要带逗号,否则不会认为这是一个tuple tuple_empty=() #空元组 name=name+sex #这属于创建一个新的元组代替旧的,不属于修改 6.各类型间转换 字符串→数字:字符串必须全是数字,不能有符号、字母 字符串转整形:int('字符串变量') 字符串转浮点数:float('字符串变量') 数字→字符串:无要求 str(数字变量) 字符串→列表:str.split(sep=none,maxsplit) #切割字符串,返回一个list sep默认为空格,maxsplit值无上限(若省略则寻找所有分隔符进行分隔) b ='a,b' → b.split(',') #[‘a’,’b’] c ='a|b|c|d' → c.split('|',1) #[‘a’,’ b|c|d ’] d='a|b|c|d' → d.split('|',2) #[‘a’,’ b’,’c|d ’] sep不能是空字符串!! 列表→字符串:'sep'.join(interable) #用sep拼接interable返回一个str test1 = ['a', 'b', 'c'] → test_str='|'.join(test1) #'a|b|c' 列表、元组 → 集合 set() 列表、集合 → 元组 tuple() 元组、集合 → 列表 list() | ||
三种格式化的方法: 1.在字符串中用%s表示要格式化的字符,打印时需要 % 连接 2.在字符串中用{}表示要格式化的字符,打印时使用 字符串.fomat(参数1,参数2,……) 3.定义格式化的字符串时前面带一个f,即 f'格式化字符串',但里面的内容需要提前定义好,打印格式化字符串是和打印普通变量一样 | ||
2.列表 list 列表是各种数据的结合,长度无限制,但最好别太长,列表可以嵌套列表 两种写法:(1) presents=list(['炸锅', '按摩仪']) (2)week=['Monday','other'] 列表的内置函数: books = [‘C++’] books.append('python') # 向列表中添加元素到末books = [‘C++’,’ python’] books.insert(0,'C') # 向列表中指定位置添加元素 books = ['C' ,‘C++’] books.count(‘C’) #函数,统计列表中元素的数量,若为返回0,此次返回1 books .clear() # 清空列表中的所有元素,变为一个空列表[] books .remove(‘C++’) #删除列表中的指定元素,若不存在会报错, 有多个元素时,只会删除第一个,是对原list的操作,而不是返回新list del books #删除整个变量 books.reverse() # 颠倒列表顺序 books.sort() # 排序,(列表中的类型必须相同,才能排序) books.copy() # 拷贝,但内存地址不同,返回一个新列表 books.extend() #将其他list、tuple中的元素一次性导入到当前列表 相同元素也不会覆盖,导入后是普通元素,不是列表中嵌套列表 索引: 对单个元素的访问:从左开始,从0开始 字符串的索引与列表相同,不能删除、修改字符串的元素,但list可以 切片:对一定范围内元素的访问 [3:8] 即第4~8个元素 左闭右开 | ||
3.字典 dict 字典中的key是唯一的 eg. person = {'name': 'Lisa', 'age': 25} key:value键值对,key不支持列表,value支持所有类型 字典没有索引,用key索引 eg. person ['name']='Lily' 若有name,则是对name的value的修改,若无name,则会新增'name':'Lily' 字典的内置函数: person.setdefault('sex','girl') #获取key对应的value,返回value 若key不存在,会添加key-value;若存在,则gril无用 |
Python