我们这个系列是新的开始,从零开始学习Python,我会在每周的1,5更新(偶尔拖更),持续关注,别的不敢说,基础知识还是能让你学明白的.由于上周五拖更了,这次内容会比较多.
一.列表
1.可以存放任何数据类型 2.下标(索引值) 从左往右数: 0开始 从右往左数: -1开始 3.下标取值 变量名[下标] 4.切片 ’ : ’ 不可以省略 变量名[起始值(默认从0开始):结束值(默认为最后一位+1):步长(默认为1)] 取起始值至结束值的前一位 (不包含最后一位),请看下面的演示代码:
a = [16, 2.3, 'aaaaa', 'b', [1, 2, 3, 4]]
print(a[:])
print(a[:5])
可以看到运行结果如图: 下面我们来讲一下列表的增删改查: 1.增 变量名.append(内容) 末尾追加单个元素 变量名.extend([内容1,内容2]) 末尾追加多个元素 (注意中括号必不可少) 变量名.insert(索引值,内容) 指定位置添加元素 加法 新列表 = list1 + list2 我们来举几个例子: 2.删 不可逆 变量名.pop(索引值) 有返回值 指定删除一个 不传入索引值时 从列表后面开始删 变量名.remove(元素) 删除指定的元素 一次只能删除一个 del 变量名[start:stop] 批量删除 变量名.clear() 清空列表 给大家看一个例子: 3.改 变量名[index(索引值)] = 元素 替换值 变量名.reverse() 倒置列表 变量名.sort() 正向排序,变成反向(reverse=True) 见如下代码:
a = [16, 2.3, 'aaaaa', 'b', [1, 2, 3, 4]]
a[0] = 15
print(a)
a.reverse()
print(a)
4.查 下标查看内容 方法一 变量[] 方法二 切片 内容查看下标 index()方法 变量名.index(内容) 统计元素出现次数 变量名.count(元素) 例子如下图: 列表的其他用法: 复制 id() 查看变量在电脑中的位置 list1 = list2 取别名 list1 = list2.copy() 列表推导式: [所需保存的内容 for 循环变量 in 迭代对象 (循环体)] 如:
a = []
for i in range(101):
if i % 2 == 0:
a.append(i)
b = [i for i in range(101) if i % 2 == 0]
这两个代码块表达的意思相同!!
二.元组
元组(tuple)—不可变的’列表’ 拆包: a,*b,c = tuple 不带星号的先拿 靠哪边从哪边拿 其他的全部返回星号 带星号的变量返回一个列表
三.for循环
for循环遍历 for 循环变量 in 可迭代对象 循环体 优点: 在不清楚循环次数时 优先使用for
tu = ('aaa', 'bbb', 'ccc', 'ddd')
for i in tu:
print(i)
结果为:
aaa
bbb
ccc
ddd
range()函数: range(start,stop,step) 当传入一个值时 为结束值 当传入两个值时 第一个为起始值 第二个为结束值(不包含) 当传入第三个值时 第一个为起始值 第二个为结束值 第三个为步长 例子如下图:
四.字符串(不可以修改,想要修改,只能重新赋值)
字符串的操作: 1.修改 指定修改字符: str2 = str1.replace(‘修改字符’,‘待修改字符’,‘修改次数’)
a = 'hello python' b = a.replace('h','H',1)
str.upper() 全部转换为大写 str.lower() 全部转换为小写 str.capitalize() 首字母大写(整个字符串的首字母) str.title() 单词首字母大写(每个单词的首字母大写) str.strip() 去掉字符串两边的空格 不影响中间的空格
字符串的切割 str.split(‘切割符[默认空格]’,切割次数[默认-1(不做限制)])
字符串的查找 str.find(字符,起始值索引(默认为0)) 从左往右找 找到输出字符的下标值 字符串的转义 -转义符 转换意义 通过转义符+字母 来表示特定的含义 字符串的判断(今天作业会用到) str.isalpha() 判断字符串是不是纯英文或者中文 str.isdigit() 判断字符串是不是纯数字 str.isupper() 判断字符串是不是全部大写 str.islower() 判断字符串是不是全部小写
字符串的编码: str.encode(encoding=‘编码格式’) 编码 str.decode(‘编码格式’) 解码
五.字典
字典(键值对) dict = {key:value} 特性: key的唯一性 字典的定义 dic = {} 空字典 字典里面的键推荐使用字符串类型 字典里面的值可以任何类型 关键字定义字典 dict_name = dict(key = value) 这样定义key只能为英文,而且定义出来的key为字符串类型
字典的操作: dict.get(key,提示(当键不存在时 输出) ) 当键存在时 输出值 dict[key] 输出值 键不存在时 报错 dict.setdeafult(key,-value-) 当健存在时 输出键原本的值 当键不存在时 增加键值对key:value
更新字典(类似于列表的extend方法) dict.update({key:value}) 当键不存在时 增加键值对 当键存在时 更新值
dict.keys() 获取所有的键 dict.values() 获取所有的值 dict.items() 获取所有的键值对 返回一个dict_item类型 可以用列表储存list(dict_items()) dict[key] = value
删除键值对 指定删除 dict.pop(key) dict.popitem() 删除最后一个键值对
六.集合
set {} 没有下标 定义空集合 set_name = set() 元素唯一性 相同元素只能存在一个
集合的操作 1.改 交集 set1 & set2 返回两个集合里面都有的内容 并集 set1 | set2 返回两个集合中’不相同’的部分 差集 set1 - set2 返回第一个集合减去第二个集合中相同的部分(减去交集) 2.增 set.add(元素) 追加单个元素 set.update({元素,元素}) 追加多个元素
3.删 set.pop() 删除第一个元素 set.remove(元素) 指定删除元素
集合的判断(了解就行) set1.isdisjoint(set2) 判断不存在交集 存在返回False set1.issubset(set2) 判断set1是否含于set2 set2是否包含set1 set1.issuperset(set2) 判断set1是否包含set2
七.上节课答案(仅供参考)
第一题
a = 1
while a <= 9:
b = 1
while b <= a:
print("%d * %d = %d" % (b, a, b * a), end="\t")
b += 1
print("")
a += 1
第二题
import random
start = 1
end = 100
num = random.randint(start, end)
gus_count = 0
x = 5
while x >= 1:
gus_num = int(input(f'猜一个{start}`{end}的数,你还有{x}次机会:'))
gus_count += 1
if gus_num > num:
print("大了")
end = gus_num
elif gus_num < num:
print("小了")
start = gus_num
else:
print("你答对了!!")
break
x -= 1
else:
print(f'你也太菜了吧!!正确答案是{num}')
print("猜测次数:", gus_count)
八.作业
今天留的作业比较多,我对第二个作业的第三题提供思路:
import random
a = random.choices('123456789',k=3)
print(a)
大家晚安,记得订阅,我会持续更新,分享我的Python学习经历,一起加油吧!!
|