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
View Code
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)
View Code
改:
按照索引去改:
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)
View Code
查
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'))
View Code
(3)排序:
li = [1,5,4,7,6,2,3]
正向排序
li.sort()
print(li)
反向排序
li.sort(reverse=True)
print(li)
反转
li.reverse()
print(li)
View Code
(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])