数据类型
数据类型之间的转换:
str-------->int:str必须是整数
int--------->str:任何都可以
str-------->bool:空的str转换为bool显示为False,非空的str转换为bool为True。
bool------->str:两种结果:True、False
int---------->bool:非0整数转化为bool为True,0转化为bool为False
bool---------->int:两种结果:0或1
str------------>list:split
list------------>str:’str'.join(list)
# str---------int 注释快捷键:ctrl+/ str必须是整数 # s = '123 ' # s1 = int(s) # print(s1) # int------------str # s = 123 # s2 = str(s) # print(s2, type(s2)) # str------------bool 非空的str转换为bool,结果为False # s = '123ee' # ss = '' # s3 = bool(s) # s4 = bool(ss) # print(s3, s4) # bool-----------str # s = True # s5 = str(s) # print(s5, type(s5)) # int-------------bool 非0整数转化为bool为True,0转化为bool为False # s = 123 # ss = 0 # sss = -123 # s6 = bool(s) # s7 = bool(ss) # s8 = bool(sss) # print(s6, s7, s8) # bool-----------------int 只有两种情况:0或1 s = True ss = False s9 = int(s) s10 = int(ss) print(s9, s10)
s = 'some one like you' list = s.split(' ') print(list) # ['some', 'one', 'like', 'you'] ss = ' '.join(list) print(ss) # some one like you
数字 int
s.bit_length():当十进制用二进制表示时,最小的二进制位数
# s = 14 # s1 = s.bit_length() # 当十进制用二进制表示时,最小的二进制位数 # print(s1)
布尔值 bool
真 1 True
假 0 False
元组:只读列表,用()表示
字符串 str
切片与索引
索引:用来标注元素位置的数字,第一个元素的位置是0,最后一个是-1
# a = 'ABCDefG' # print("a[0]:"+a[0]) # print("a[1]:"+a[1]) # print("a[-1]:"+a[-1]) # print("a[-2]:"+a[-2]) a[0]:A a[1]:B a[-1]:G a[-2]:f
切片:通过索引截取字符串的一段,形成新的字符串。(顾头不顾尾)(索引:索引:步长)
# a = 'ABCDefG' # print(a[0:3]) # ABC # print(a[0:3:2]) # AC # print(a[3:0:-1]) # DCB # print(a[-1:-4:-1]) # Gfe # print(a[:]) # ABCDefG # print(a[::-1]) # GfeDCBA
字符串常用方法:
s = ' haveWe a good tiME ' s1 = s.capitalize() print('首字母大写:'+s1) s2 = s.upper() print('字母全部大写:'+s2) s3 = s.lower() print('字母全部小写:'+s3) s4 = s.swapcase() print('字母大小写翻转:'+s4) # 大写变小写,小写变大写 s5 = s.title() print('每个单词的首字母大写:'+s5) print(s) s6 = s.center(30, '-') print('居中:'+s6) # s7 = s.expandtabs() # 若字符串中含有\t,自动用空格补齐前方的8位 print(len(s)) # 长度 ''' 上面的运行结果: 首字母大写: havewe a good time 字母全部大写: HAVEWE A GOOD TIME 字母全部小写: havewe a good time 字母大小写翻转: HAVEwE A GOOD TIme 每个单词的首字母大写: Havewe A Good Time haveWe a good tiME 居中:----- haveWe a good tiME ----- 20 ''' # ------------------------判断字符开头或结尾 startswith endswith------------ # s8 = s.startswith('ha') # 判断字符串是否以ha开头,(True、False) # s9 = s.endswith('E') # 判断字符串是否以E结尾。 # print(s8, s9) # --------------------查找元素 find index------------------------- # print(s.find('oo')) # 查找某元素的位置,找到返回索引值,找不到返回-1 # print(s.index('oo')) # 查找某元素的位置,找到返回索引值,找不到报错 # ---------------去空格或者指定字符 strip------------------- # print(s.strip()) #去除两头的空格 # print(s.lstrip()) # 去除左边的空格 # print(s.rstrip()) #去除右边的空格 # ss = '%kdkd%sd;*%' # print(ss.strip('*%')) # print(ss.lstrip('*%')) # print(ss.rstrip('*%')) # -------------------计数 count 和字符分割 split-------------------------- # print(s.count('a')) # 计算某个元素出现的个数。 # s10 = s.split() # 将字符串分割成列表 # print(s10) # --------------格式化输出 format %s------------------- # name = input('请输入姓名:') # age = input('请输入年龄:') # # info = '我的名字叫{},今年{}岁了,{}曾经有个最好的朋友'.format(name, int(age), name) # # info = '我的名字叫{0},今年{1}岁了,{0}曾经有个最好的朋友'.format(name, int(age)) # # info = '我的名字叫{name},今年{age}岁了,{name}曾经有个最好的朋友'.format(name=name, age=int(age)) # info = '我的名字叫%s,今年%d岁了,%s曾经有个最好的朋友' % (name, int(age), name) # print(info) # -----------------替换 replace(old,new,count)------------- s = 'HelloWord' print(s.replace('l', '哇', 1)) print(s.isalnum()) # 判断只由数字或字母组成,是返回True,不是返回False print(s.isalpha()) # 判断只由字母组成,是返回True,不是返回False print(s.isdigit()) # 判断只由数字组成,是返回True,不是返回False
列表 list
列表内容在[]里,用逗号隔开,可以存放各种数据类型。
1.增加。append()、extend()、insert()
li = ['shishanshan', 12, '女孩'] li.append('爱好吃喝玩乐') # 从最后面添加 li.append(['hao', '你好']) li.insert(1, '山东菏泽') # 从指定位置添加 li.extend([123, 'sss', 44]) # 迭代添加 li.extend('hds') print(li) # 结果:['shishanshan', '山东菏泽', 12, '女孩', '爱好吃喝玩乐', ['hao', '你好'], 123, 'sss', 44, 'h', 'd', 's']
2.删除。clear()、del、pop()、remove‘str’)
clear():清除整个列表,清除后,列表为空列表[]
del:删除整个列表,或者删除列表的指定部分。
pop():pop删除指定位置的元素,当()内部没有内容时,默认删除最后一个元素。pop()有返回值,返回的当前删除的元素
remove():删除列表中的某个元素。没有此元素时报错
li = ['shishanshan', 12, '女孩'] print(li.pop()) # 删除“女孩” li.pop(1) # 删除索引为1的位置的元素 li.remove('shishanshan') # 删除shishanshan li.clear() del li del li[0:2] # 切片删除 print(li)
3.修改。
li = ['shishanshan', 12, '女孩'] li[0] = '时珊珊' li[0:2] = ['帆帆', '好孩子', 21] # 删除某块位置,在此位置上迭代添加元素 print(li)
4.查询。索引查询、循环查询
li = ['shishanshan', 12, '女孩', ['唱歌', '画画']] # print(li[0]) # print(li[0:2]) # print(li[::-2]) for i in li: print(i)
5.其他方法。
count():计数。统计某个元素在列表中出现的次数(即元素个数),找不到返回0
index():从左往右,找到某元素最先出现的索引位置。若不存在,报错
li = ['小石头', '女', 21, ['小红', '女', 20], '女'] num = li.count('女') print(num) ins = li.index('女') print(ins) # 结果: ['帆帆', '好孩子', 21, '女孩'] 2 1
sort():正序排列列表
sort(reverse=True):倒序排列列表
reverse():整个列表直接反过来
lis = [3, 5, 1, 0, 33, 12] lis.sort() lis.sort(reverse=True) lis.reverse() print(lis)
字典 dict
1、增加。dict['K']=V setdefault(K,V) 注:K代表键,V代表值
直接增加:dict['k']=v 若存在相同的键(K),则直接覆盖该K的V
若不存在该K,则直接新增该键值对。
setdefault(K,V): 若存在相同的键(K),则不做处理。 该方法返回值为存在的K的V
若不存在该K,则直接新增该键值对。 该方法的返回值为新增的K的V
dic = {'name': ['苏珊', '小红'], 'age': [20, 21], 'like': '跑着玩', } # print(dic.setdefault('name', 'afric')) # ['苏珊', '小红'] # print(dic.setdefault('school', '中华人民共和国')) # 中华人民共和国 dic['name'] = 'afric' # {'name': 'afric', 'age': [20, 21], 'like': '跑着玩'} # dic['school'] = '中华人民共和国' print(dic)
2、删除 pop(K,'NK_V') popitem() clear del
pop(K,'NK_V'):若有K,则返回该K的V
若没有该K,返回NK_V
popitem():随机删除,字典为空时报错,不为空时返回删除的V
dic = {'name': ['苏珊', '小红'], 'age': [20, 21], 'like': '跑着玩', } print(dic.pop('likes', '没有该键')) # 没有该键 print(dic.pop('like', '没有该键')) # 跑着玩 print(dic) # {'name': ['苏珊', '小红'], 'age': [20, 21]} # print(dic.popitem()) # dic.clear() # del dic['name'] # print(dic)
3、修改 dict['K']=V dic1.update(dic2)
dic1.update(dic2):将dict2中的更新到dict1中,相同的K的覆盖,不相同的增加
dic = {'name': ['苏珊', '小红'], 'age': [20, 21], 'like': '跑着玩', } dic1 = {'age': [21, 22], 'school': '中华人民共和国'} # dic['name'] = 'afric' # {'name': 'afric', 'age': [20, 21], 'like': '跑着玩'} # dic['school'] = '中华人民共和国' # print(dic) dic.update(dic1) # {'name': ['苏珊', '小红'], 'age': [21, 22], 'like': '跑着玩', 'school': '中华人民共和国'} print(dic)
4、查询。
dic = {'name': ['苏珊', '小红'], 'age': [20, 21], 'like': '跑着玩', } print(dic['name']) # ['苏珊', '小红'] print(dic.get('name')) print(dic.get('name1', '没有该键')) # 没有该键
5、其他方法。dict.keys() dict.values() dict.items()
dic = {'name': ['苏珊', '小红'], 'age': [20, 21], 'like': '跑着玩', } print(dic.keys()) # dict_keys(['name', 'age', 'like']) print(dic.values()) # dict_values([['苏珊', '小红'], [20, 21], '跑着玩']) print(dic.items()) # dict_items([('name', ['苏珊', '小红']), ('age', [20, 21]), ('like', '跑着玩')]) for k in dic.keys(): print(k) for v in dic.values(): print(v) for ite in dic.items(): print(ite) for k, v in dic.items(): print(k, v)