字符串的重点内容:
# 将int转化为二进制的最少位数 a = 2 a1 = a.bit_length() print(a1) a2 = 3 a3 = a2.bit_length() print(a3) # bool--->int的例子(重点理解) while true: pass while 1: # 效率高点 pass # str--->bool # s='' --->false 中间为空 # s='任何东西' --->true # 例子(重点理解) s = str(input('输入用户名')) if s: pass else: print('用户名为空,请重新输入')
字符串的索引与切片:
s = 'abcdefg' # 索引部分 s1 = s[0] print(s1) s2 = s[2] print(s2) s3 = s[-1] print(s3) s4 = s[-2] print(s4) # 切片部分,诀窍(顾头不顾尾) s5 = s[0:3] print(s5) s6 = s[0:-1] print(s6) s7 = s[:] s8=s[0:] print(s7,s8) # 间隔取,s[首,未,步长] s9 = s[0:6:2] print(s9) s10 = s[4:0:-1] # 倒着取 print(s10) s11 = s[4::-1] print(s11) s12 = s[4::-2] print(s12) s13 = s[-1::-1] print(s13) s14 = s[::-1] print(s14)
前面内容回顾:
ascii:数字,字母,特殊字符;一个字节:8位 # unicode(万国码):16位,2个字节;升级后变成32位,4个字节 # utf-8:最少用8位,1个字节表示。英文字母--->8位,一个字节 # 欧洲---->16位,2个字节 # 中文---->32位,3个字节 # gbk:中文2个字节,英文一个字节
列表的运用:
1.列表的增加
li = ['fen','land','sub','123'] l1 = li.append('name') # 列表的增加 l2 = li.append(456) print(li) 例子,每次输入一个用户名就增加,但当输入over的时候停止增加 li = ['fen','land','sub','123'] while 1: username = input('>>>') if username.strip().lower() == 'over': break else: li.append(username) print(li)
2。列表的插入
li = ['fen','land','sub','123'] li.insert(2,'jack') print(li) li.extend('明天') # 列表的迭代 print(li) li.extend([1,2,3]) print(li)
3。列表的删除
li = ['fen','land','sub','123'] li.pop(2) # 按索引删除,有返回值 print(li) name = li.pop(2) print(name,li) name = li.pop() # 为空的话默认删除最后一个 print(name,li) li = ['fen','land','sub','123'] li.remove('123') # 按元素去删除 print(li) li.clear() # 清空 print(li) del li # 直接删除整个列表 print(li) del li[0:2] # 也可以切片去删除 print(li)
4.列表的嵌套
li = ['fen','明天','sub','123',['med','456']] print(li[0][1]) # 输出列表的‘e’字母 li[0] = li[0].capitalize() # 改变为首字母大写 print(li) li[1] = '明日' # 直接修改(方法一) print(li) li[1] = li[1].replace('天','日') # 用replace替换(方法二) print(li) li[4][0] =li[4][0].upper() # 对将列表中的列表进行操作 print(li)
5.列表的修改:
li = ['fen','land','sub','123'] li[0] = '今天' # 按索引去改 print(li) li[0] = [1,2,3] print(li) li[0:2] = '明天' # 切片去改,运用了迭代思想 print(li) li[0:2] = ['明天','今天'] print(li)
6.列表的查找:
li = ['fen','land','sub','123'] for i in li: # 全部查找 print(i) print(li[0:2]) # 切片查找
7.公共方法:
li = ['fen','land','sub','123'] print(len(li)) # 数出一共有多少 print(li.count('123')) # 计算出现的次数 print(li.index('sub')) # 找出索引,只有index,没有的话报错 # 排序(如果是字符串的话按照首字母的ascii码排序) i2 = [1,9,3,7,6,2] i2.sort() # 正向排序 print(i2) i2.sort(reverse=True) # 反向排序,默认的是false print(i2) i2.reverse() # 列表的反转 print(i2)