1、内容回顾
ASCII:字母,数字,特殊字符,8位、一个字节
Unicode:16位、两个字节---->升级到32位、4个字节
utf-8:最少用8位、一个字节表示
英文字母 ----- 8位、一个字节
欧洲语言 ----- 16位、两个字节
中 文 ------24位、三个字节
gbk:中文 ----- 二个字节
英文 ----- 一个字节
关系转换:
str----->bool :
:bool(str)
s = ''---->False
s = '非空'----->True
str
captlze首字母大写 upper()全大写 lower()全小写 find通过元素找索引,找不到-1 index()通过元素找索引,找不到 报错 swpcase 大小写翻转 repalce(old,new,count) isdigit() 返回bool值 isapha() isnumpha() startswith endswith title 首字母大写 center()居中 strip()lstrip rstrip split format 格式化输出 {} {0}{1}{2}{0} {name}{age}{hobby} name= age+ hobby len() 长度 count 计数 for i in 可迭代对象: pass
3、列表
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
(1)增删查改
增:
l.append()------> 追加 li = [1,'a','b',2,3,'a'] li.append('aaa') #增加到最后 li.append([1,2,3]) #增加到最后 print(li) #按照索引去增加 li.insert(0,55) print(li) #迭代的去增 li.extend(['q,a,w']) li.extend(['q,a,w','aaa']) li.extend('a') li.extend('abc') li.extend('a,b,c') print(li)
持续输入,输入Q时返回。
li = ['alex','wusir','egon','女神','taibai']
while 1: username = input('>>>') if username.strip().upper() == 'Q': break else: li.append(username) print(li)
删:
li = ['taibai','alex','wusir','egon','女神',] name = li.pop(1) # 返回值 name = li.pop() # 默认删除最后一个 print(name,li) li.remove('taibai') # 按元素去删除 print(li) li.clear() # 清空 print(li) del li del li[0:2] # 切片去删除 print(li)
改:
按照索引去改: li[0] = 'nans' li[0] = '男兽' li[0] = [1,2,3] print(li) 按照切片去改:改为字符串 li[0:3] = '云姐plfdslkmgdfjglk' print(li) 按照切片去改:改为列表 li[0:3] = [1,2,3,'春哥','咸鱼哥']] print(li)
查
for i in li: print(i) print(li[0:2])
(2)公共方法:
查询长度 l = len(li) print(l) 查询某一元素出现数量 num = li.count('taibai') print(num) print(li.index('wusir'))
(3)排序:
li = [1,5,4,7,6,2,3] 正向排序 li.sort() print(li) 反向排序 li.sort(reverse=True) print(li) 反转 li.reverse() print(li)
(4)列表的嵌套
li = ['taibai','武藤兰','苑昊',['alex','egon',89],23]
输出藤字
print(li[1][1]) name = li[0].capitalize() print(name)
将taibai转换为首字母大写
li[0] = name
li[0] = li[0].capitalize()
将苑昊改为苑日天
li[2] = '苑日天' print(li[2].replace('昊','ritian')) li[2] = li[2].replace('昊','ritian')
将alex转换为全部大写
li[3][0] = li[3][0].upper() print(li)
4、元祖
#元祖 只读列表,可循环查询,可切片。
儿子不能改,孙子可能可以改。
tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon') print(tu[3]) #输出alex
print(tu[0:4]) #输出1,2,3,'alex',
依次输出元祖中元素
for i in tu: print(i)
将taibai转化为大写
tu[4][3]=tu[4][3].upper() print(tu)
在列表中追加元素
tu[4].append('sb') print(tu)
5、列表与字符串转换
列表转化成字符串 list -----> str join
字符串转化成列表str ----->list split()
join:
li = ['taibai','alex','wusir','egon','女神',] s = '++++'.join(li) print(s)
range :[1,2,3,4,5,6,.......100........]
for i in range(3,10): print(i) for i in range(10): print(i) for i in range(0,10,3): print(i) for i in range(10,0,-2): print(i) for i in range(10,-1,-2): print(i) 如果在列
表里包含列表,将所有元素依次输出
一:for循环 li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'afds'] for i in li: if type(i) == list: for k in i: print(k) else:print(i) 二:range for i in range(len(li)): if type(li[i]) == list: for j in li[i]: print(j) else:print(li[i])