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)