当前位置:网站首页>学习总结week2_1
学习总结week2_1
2022-08-05 05:13:00 【非鱼丶丶】
python容器型数据
一:列表
1)列表是容器型数据:[数据1, 数据2, 数据3, 数据4]
2)特点:列表是可变的(指的是容器中元素的个数和值可变—支持增删改)
列表是有序的(支持下标操作)
3)元素的要求:无(可以是任何类型的数据,元素类型也可不一致)
score =[100, 86, 15, 89, 67, 45, 88, 76]
print(sum(score) / len(score), max(score))
空列表
list1 = [ ] # 空格不算数据
列表是有序的(顺序影响结果)
print([10, 20, 30] == [10, 30, 20]) # False
print({10, 20, 30} == {10, 30, 20}) # True 集合无序
1.查单个元素 - 一次获取一个元素
语法:
列表[下标] - 获取列表中指定下标对应的元素
说明:
1.列表 - 需要获取元素的列表(可以是任何结果的列表的表达式,比如保存列表的变量,具体的列表数据)
2.[] - 固定写法
3.下标 - 索引,是元素在列表中的位置信息
列表中每个元素都有两个索引值,一个是顺序,从0开始增加
另一个是逆序,从-1开始,减少
num = [1, 2, 3, 4]
print(num[0], num[-2])
2.切片 - 一次获取多个元素
语法:
列表[开始下标:结束下标:步长] - 根据步长下标获取指定列表中的部分元素
1.怎么确定切片结果:
第一步:确定结果是否为空列表(看从开始下标到结束下标的方向和步长对应的方式是否一致,方向一致不一定空,不一致一定空)
步长为负:从后往前取,
第二步:确定有效范围: - 左闭右开,反向则右闭左开
第三步:在有效范围内,按步长的绝对值确定获取内容
绝对值为1,按序获取
2.怎么写切片
确定开始下标、步长、结束下标
num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(num[0: 9: 3])
print(num[-1: 9: 3])
print(num[0: 9: -3])
3.切片的省略写法
1.省略步长 - 相当于步长为1
列表[开始下标:结束下标]
2.省略开始下标 - 表示从头开始(若步长为负,就是从尾端开始)
列表[:结束下标:步长]、[:结束下标]
3.省略结束下标 - 步长为正,从开始取到最后一个,为负则取到第一个
列表[开始下标::步长]
print(num[:4])
print(num[5:])
print(num[5::-1])
print(num[:])
3.遍历 - 一个一个的获取列表中所有的元素
方法1:for 变量 in 列表:
循环体
方法2:通过遍历下标来遍历列表
for index in range(len(列表)):
方法3:同时获取下标和元素
for 变量1, 变量2 in enumerate(列表):
循环体中的变量1是每个元素的下标,变量2是每个元素
for index in range(len(num)):
print(index, num[index])
for x, y in enumerate(num):
print(x, y)
# 练习1:计算nums中所有元素的和
nums = [12, 45, 8.34, 56, 23]
print(sum(nums))
# 练习2:统计nums中所有偶数的个数
num1 = [23, 88, 90, 88, 67, 55, 11]
count = 0
for x in num1:
if x % 2 == 0:
count += 1
print(count)
# 练习3: 统计list1中字符串的个数
list1 = [109, 23.4, True, 'abc', 'helo', 23, '12', False, None]
count1 = 0
for x in list1:
if type(x) == str:
count1 += 1
print(count1)
二:列表的增删改
1.增 - 添加元素
1)列表.append(元素) - 在列表的最后添加元素
2)列表.insert(元素) - 在列表指定下标对应的元素前插入指定数据
2.删 - 删除元素
1)del 列表[下标] - 删除列表中指定下标对应的元素
2)列表.remove(元素) - 若有重复,只会删第一个
3).列表.pop() - 取出列表最后一个元素
列表.pop(下标) - 取出列表指定下标的元素
3.改 - 修改元素的值
列表[下标] = 新元素 -修改列表中指定下标对应的元素为新元素
num = [1, 2, 3]
num.append(5)
num.insert(1, 9)
print(num)
print(num.pop(2))
print(num)
del num[0]
print(num)
# 练习:使用一个新的列表提取nums中所有的偶数
nums = [17, 89, 90, 81, 84, 4, 56]
num = []
for x in nums:
if x % 2 == 0:
num.append(x)
print(num)
1.数学运算符: + 、*
列表1 +列表2 - 将两个列表的元素一次合并为一个新的列表
列表 * N / N *列表 - 列表中的元素重复N遍产生的新列表
2.in 和 not in操作
元素 in 列表 - 判断列表中是否存在指定元素
边栏推荐
猜你喜欢
LeetCode: 1403. Minimum subsequence in non-increasing order [greedy]
The software design experiment four bridge model experiment
开发一套高容错分布式系统
pycharm中调用Matlab配置:No module named ‘matlab.engine‘; ‘matlab‘ is not a package
Qt制作18帧丘比特表白意中人、是你的丘比特嘛!!!
coppercam primer [6]
shell函数
jvm three heap and stack
The underlying mechanism of the class
【过一下 17】pytorch 改写 keras
随机推荐
DOM and its applications
结构光三维重建(二)线结构光三维重建
[Go through 7] Notes from the first section of the fully connected neural network video
Mysql5.7 二进制 部署
Machine Learning (2) - Machine Learning Fundamentals
redis事务
ES6 Set、WeakSet
小白一枚各位大牛轻虐虐
ESP32 485 Illuminance
A blog clears the Redis technology stack
【技能】长期更新
【过一下16】回顾一下七月
Convert the paper official seal in the form of a photo into an electronic official seal (no need to download ps)
Understanding and use of C# on set() and get() methods
Flutter learning - the beginning
Difference between for..in and for..of
[Study Notes Dish Dog Learning C] Classic Written Exam Questions of Dynamic Memory Management
【过一下9】卷积
Transformation 和 Action 常用算子
Distributed systems revisited: there will never be a perfect consistency scheme...