01 上周内容回顾
int bool str
int <---> str:
i1 = 100 str(i1)
s1 = '10' int(s1) 字符串必须是数字组成。
int <---> bool:
i2 = 10 非零即True
True ---> 1 Fasle ----> 0
bool <---> str:
str ---> bool :非空即True '' Fasle
str:
索引,切片 (步长):
s1 = '太白Alex'
s1[1]
s1[2]
s1[-1]
s1[:2]
s1[2:]
s1[-1:-4:-1]
s1[:3:2]
常用操作方法:
Capitalize() 首字母大写,后面全部都是小写
upper() 全部大写
lower() 全部小写
swapcase() 大小写翻转
strip() 默认去除前后的空格换行符制表符 可以指定字符
lstrip() rstrip()
split()
str----> list 默认按照空格分割,可以指定分隔符,分割次数
rsplit() 从右到左分割。
join()
'_'.join('alex') ---> a_l_e_x
startswith()
endswith()
center()
isdigit()数字组成
isalpha() 字母组成
isalpnum()数字字母组成
replace(old,new,count)
find() 通过字符找索引,找到即返回 找不到返回-1
index() 通过字符找索引,找到即返回 找不到报错
count() 某个字符出现的次数
title() 每个单词的首字母大写
format()
len() 字符串的总个数
for 循环
for 变量 in iterable:
print(变量)
02 作业讲解
03 列表
why:
s1 = '1 True alex'
1,像这样:s1[2:6]取值费劲。
2,对字符串进行的任何操作,取出来的数据都是字符串类型。不方便。
3,字符串有长度限制(只能存储少量的字符串类型的数据)。
基于以上原因,python提供了另个数据类型:list 容器类数据类型。
列表 也叫数组,可以存放大量的任意数据类型。
l1 = [1, '太白', True, [1, 2, 3,] ,(1,2,),{'name':'alex'}, {1,2,3},对象]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,
32位python的限制是 536870912 个元素,
64位python的限制是 1152921504606846975 个元素
。而且列表是有序的,有索引值,可切片,方便取值。
what:python基础数据类型:list。
how:***
1,索引,切片(步长).
l1 = ['wusir', 'alex', '日天', '太白', 100 ,'太白' # 索引,切片(步长) # s1 = l1[1] # print(s1,type(s1)) # i1 = l1[-1] # print(i1, type(i1)) # l2 = l1[:3] # print(l2) # l3 = l1[-1:-4:-1] # print(l3)
2,增删改查。
# 增 # 追加 append # l1.append(True) # l1.append([1,2,3]) # print(l1) ''' name_list = [] while 1: username = input("请输入姓名").strip() if username.upper() == 'Q': break name_list.append(username) print(name_list) ''' # insert 插入 # l1.insert(1, 'sb') # print(l1) # extend 迭代着追加 # l1.extend('abc') # l1.extend(['abc', 'edf', 12]) # print(l1) # 删 # 按照索引删除 pop # ret = l1.pop(2) # 有返回值 # print(ret) # print(l1) # 按照元素删除 # l1.remove('alex') # print(l1) # 清空列表 clear # l1.clear() # print(l1) # del ''' 1,按照索引删除单个元素 与pop相同 2,按照切片删除一部分元素 3,按照切片(步长)删除一部分元素 ''' # del l1[-1] # print(l1) # del l1[:3] # print(l1) # del l1[:3:2] # print(l1) # 改 ''' 1,按照索引改 2,按照切片改 3,按照切片(步长)改 ''' # l1[0] = 'sb' # print(l1) # l1[:2] = 'abcd' # l1[:2] = [1,2,3,4,5,6,7,8] # print(l1) # l1[:3:2] = '太白' # print(l1) # 查 # 按照索引,按照切片 # for i in l1: # print(i)
3,其他操作方法。
# 其他操作: # print(len(l1)) # 测试总个数 # count 计算某个元素出现的个数 # print(l1.count('太白')) # list # index 通过元素找索引找第一个就返回,找不到就报错 # print(l1.index('alex')) # print(l1.index('alex1')) # l1 = [2, 7, 6, 5, 1, 8, 9] # l1.sort() # 从小到大 # l1.sort(reverse=True) # 从大到小 # l1.reverse() # 翻转 # print(l1) # l2 = [ 'der', 'alef','宗r','cdfedgf',] #了解 # l2.sort() # print(l2)
where:
存储大量的数据,并且保持原数据类型时,需要列表。
按照顺序,或者按照一定规则存储数据。
04 列表的嵌套 ***
l1 = [1, 2, 'taibai', [1, 'alex', 3]] # l = l1[3] # print(l) # new_str = l1[2].upper() # l1[2] = new_str # l1[2] = l1[2].upper() # # new_s = l1[-1][1] + 'sb' # l1[-1][1] = new_s # print(l1) # l1[-1][1] = l1[-1][1] + 'sb' # l1[-1][1] += 'sb' # # count = count + 1 count += 1 # print(l1)
05 元组
why:
l1 = [1, '太白', True, [1, 2, 3,] ,(1,2,),{'name':'alex'}, {1,2,3},对象]
一些重要的信息,放在列表中不安全,需要一个容器类的数据类型,创建之初存放一些重要的数据
个人信息,密码,等,不允许任何人改变。
what:基础数据类型元组。
l1 = (1, '太白', True, [1, 2, 3,] ,(1,2,),{'name':'alex'}, {1,2,3},对象)
how:
可查。
where:
存放一些重要数据时,需要用元组存放。
05 range :可视为:自制 一个 可控范围 的 数字列表 ***
# ret = range(1, 10) # 顾头不顾尾 l1 = [1, 2, 3, 4, 5, 6, 7 ,8, 9] # ret = range(1, 100, 2) # ret = range(0,10,2) # # ret1 = range(10, 0, -1) # # print(ret) # for i in ret: # print(i) # for i in range(10,-1,-1): # print(i) # l1 = ['wusir', 'taibai', 'ritian', 'alex', 'taibai'] # l1 = [i for i in range(100)] # print(l1.index('wusir')) # print(l1.index('taibai')) # 不好 # for i in l1: # print(l1.index(i)) # 方法二: # for index in range(0,len(l1)): # print(index) l1 = [1, 2, 3, [44, 55],66] for i in l1: if type(i) == list: for j in i: print(j) else: print(i)