数据类型补充
1 . 字符串
.join方法可以在一段字符串每个元素后加一个指定的元素
如果一个列表中有数字装换会出错要用下面这个方法
print(" ".join('%s' %id for id in list1))
s = 'alexeweuesir\n' s1 = "_".join(s)#把"_"元素加进去 s2 = ''.join(s)#添加个空元素 相当于不变 print(s1+s2)
结果:
补充 怎么输出字符串Let's go
print("let's,go) #第一种 print("let\'s,go")#第二种
结果:
2 . for else使用 : for else 和while else基本相同,当执行完以后, 并且不被break打断后走else.
s = 'alexeweuesir' for i in s: if i == 'e':#判断i是否取到"e" continue #跳过循环,开始下一次循环 print(i) else: #当for循环都执行完以后,开始执行else,但是如果循环被break打断就不执行else print(666)
结果:
3 . 字符串练习题
实现一个整数加法计算器:实现5 +9 或 5 + 9 或 5 +9 的输出
content = input("请输入内容:") sum = 0 content = content.split("+") #以"+"为切割点,把str分为list for i in content: #遍历list中元素 sum = sum + int(i) #将元素类型改为整数int,并累加 print(sum)
结果:
计算用户输入的内容中有几个整数。如输入safsah66afa5中有几个数字
content=input("请输入:") count =0 for i in content: #遍历content中元素 if i.isdigit(): #判断元素是否为数字 count+=1 print(count)
结果:
4. 列表的增删改查
增.append方法 是在列表最后添加元素的,元素可以为任何类型.
l1 = ['alex',True,'wusir','ritian','taibai',3,2] #增 append l1.append('小黑') #添加字符串 l1.append([1,2,3]) #添加个列表 print(l1)
结果:
.append操作没有返回值 输出None
a = [0,1] b="q" c = a.append(b) print(c)
结果:
小练习 在列表中添加元素,遇到"Q"或"q"退出,最后打印列表
l1 = ['alex',True,'wusir','ritian','taibai',3,2] while True: username = input('>>>/Q或q退出') # 用户交互 if username.upper() == 'Q':break #判断跳出循环条件 l1.append(username) #将新元素添加到列表 print(l1)
结果:
插入 .insert 通过索引来添加元素,这个位置是可以自己决定的.没有返回值
l1 = ['alex',True,'wusir','ritian','taibai',3,2] #insert 插入 l1.insert(2,'egon') #在索引为2的位置添加个元素 print(l1)
结果:
expend 迭代的添加,把字符串或列表拆开添加,列表中只有一个元素正常添加,只能加在最后面,只能加一个元素,没有返回值
l1 = ['alex',True,'wusir','ritian','taibai',3,2] # extend l1.extend('太白金星') #添加元素 print(l1.extend([2,3,4])) #添加数据 并输出返回值 print(l1)
结果 :
删除
.pop删除 通过索引删除元素, 默认删除最后一个元素,并且有返回值.
l1 = ['alex',True,'wusir','ritian','taibai',3,2] #删除pop l1.pop() #默认删除最后一个 ret = l1.pop(4) #删除索引为4的数据 print(ret) # 有返回值 print(l1)
结果:
.remove删除,按照元素删除,没有返回值.
l1 = ['alex',True,'wusir','ritian','taibai',3,2] # remove 按照元素去删除 ret = l1.remove('alex') print(ret) print(l1)
结果:
清空列表 .clear 但是列表还是存在的,
l1 = ['alex',True,'wusir','ritian','taibai',3,2] #clear 清空列表 l1.clear() print(l1)
结果:
删除列表.del方法,列表被彻底删除.还可以用索引和切片删除.
l1 = ['alex',True,'wusir','ritian','taibai',3,2] # del 功能1 删除列表 del l1 print(l1)
结果:
l1 = ['alex',True,'wusir',3,2,4,5,'ritian','taibai',3,2] del l1[0] #删除第一个元素 print(l1) del l1[0:3] #在第一次基础上删除索引为0到2的元素 print(l1) del l1[1::2] #在第二次基础上,从索引为1的元素到最后按步长为2删除 print(l1)
.del 索引,切片删除
改 按照索引和切片去改:单个索引相当于取到索引元素直接赋予新值, 切片时字典添加的是键值,列表加的是元素,字符串和元祖则是迭代的往里添加
l1 = ['alex','taibai',True,'wusir','ritian',3,2,True,] # #改 # 按照索引去改 l1[0] = '男神' #用"男神"替换索引为0的元素 print(l1) # 按照切片去改 l1[0:2] = ['屌丝','alex'] #列表添加元素 print(l1) l1[0:2] = '化工哥,树脂' #字符串遍历添加 print(l1) l1[0:2] = ('化工哥,树脂') #元祖遍历添加 print(l1) l1[0:2] = {"化工哥":"树脂","guu":82} #字典添加键值,并且无序 print(l1)
结果:
查 用索引查 和用for循环查
l1 = ['alex','taibai',True,'wusir','ritian',3,2,True,] # 查 按切片,按索引去查 print(l1[0]) #输出索引为0的数据 print(l1[0:3]) #输出索引在0到2的数据
l1 = ['alex','taibai',True,'wusir','ritian',3,2,True,]
for i in l1: # for 循环查print(i)
结果:
5. 长度 和 查找数据出现次数 补充列表中True也表示1
l1= [1,3,6,8,7,4,True,9,10] # len 长度 数据个数 print(len(l1)) # count 出现次数 ret = l1.count(True) print(ret)
结果:
6. 通过元素找索引,找不到会报错
l1= [1,3,6,8,7,4,True,9,10] # index 通过元素找索引 print(l1.index(8)) #找"8"这个元素的索引
print(l1.index(0))
结果:
7. 如果列表中数据是纯数字的话还可以进行排序,sort 从小到大 ,sort(reverse) 从大到小
l1= [1,3,6,6,8,7,4,0,9,10] # sort 从小到大 l1.sort() print(l1) #sort(reverse) 从大到小 l1.sort(reverse=True) print(l1)
结果:
8. 列表内元素反转,
l2=["a",1,5,"p"] #倒叙 l2.reverse() print(l2)
结果:
9. 列表的嵌套 能实现增删改查
l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[1,2,3]],2]
a = l1[1].capitalize()
l1[1] = a
l1[1] = l1[1].capitalize()
print(l1)
结果:
查找数据
l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[1,2,3]],2] print(l1[0]) print(l1[3])
结果:
将一个元素字母全变大写
l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[1,2,3]],2] l = l1[3] s = l[1].upper() l1[3][1] = s l1[3][1] = l1[3][1].upper() print(l1)
结果:
10. 元祖 元祖的索引查找和for循环 元祖内的数据是不可更改的,但是嵌套列表或字典时,列表内或字典里的数据能改变
tu = (1,2,'wusir','taibai',[2,3,4,],True) for i in tu: print(i) print(tu[2:])
结果:
11. range当做:范围列表[],列表中的元素是数字,且可控的有效数字范围 一般与for循环连用
从一到十取数据也有顾首不顾尾原则
for i in range(1,10): #[1,2,3,4...9] 顾首不顾尾 print(i)
结果:
for i in range(1,10,2): # [1,3,5,7,9] print(i)
结果:
倒序输出数字
for l in range(3,-2,-1): print(l)
结果:
应用 依次输出例表中元素 如果元素内有列表,把子列表中元素也遍历输出
l1 = [1,2,3,'alex',[2,3,'wusir'],7]
for i in l1:
if type(i) == list:
for j in i:
print(j)
else:
print(i)
结果:
12. Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
# 输出 Python 的每个字母 for letter in 'Python': if letter == 'h': pass print '这是 pass 块' print '当前字母 :', letter print "Good bye!"
结果: