从0开始学Python(2)
从0开始学Python(2)
我们继续第二课。今天只学一个核心概念:列表list。它非常重要,因为科研数据里你经常不是处理“一个人的年龄”,而是处理“一组人的年龄”。这样写当然可以,但如果有 100 个被试,就会非常麻烦。Python 提供了一个东西,可以把多个数据装在一起:ages= [21, 23, 25, 22, 24]你可以把列表理解成一个盒子,里面按照顺序放了很多东西:第二课:列表 list
ages= [21, 23, 25, 22, 24]ages= [21, 23, 25, 22, 24]这不是 Python 强制要求,只是一种非常好的命名习惯。1. 列表里面不仅能放数字
names= ["张三", "李四", "王五"]groups= ["患者组", "患者组", "对照组", "对照组"]subjects= ["sub-001", "sub-002", "sub-003"]2. 如何取出列表中的某一个数据?
ages= [21, 23, 25, 22, 24]Python 从 0 开始数。
3. 为什么一定从0开始?
第一个数据。
4. 最后一个数据怎么取?
ages= [21, 23, 25, 22, 24]但如果列表有 1000 个数字,你不可能每次都数。最后一个。
5. 修改列表里面的数据
ages= [21, 23, 25, 22, 24]6. 给列表增加数据
subjects= ["sub-001", "sub-002", "sub-003"]subjects.append("sub-004")['sub-001', 'sub-002', 'sub-003', 'sub-004']在列表最后增加一个东西。
error_subjects.append("sub-003")error_subjects.append("sub-017")7. 什么是空列表?
先准备一个空盒子,后面慢慢往里面装东西。
8. 一个列表有多少个数据?
ages= [21, 23, 25, 22, 24]看里面有几个东西。
subjects= ["sub-001", "sub-002", "sub-003"]print("总被试数:", len(subjects))9. 删除列表中的数据
subjects= ["sub-001", "sub-002", "sub-003", "sub-004"]subjects.remove("sub-003")['sub-001', 'sub-002', 'sub-004']10. 切片:一次拿多个数据
ages= [21, 23, 25, 22, 24]包括左边,不包括右边。
11. 从某个位置一直取到最后
从索引2开始,一直到最后。
前10个。
最后10个。
12. 列表可以做一些简单统计
scores= [80, 90, 75, 88, 92]mean_score=sum(scores) /len(scores)13. 最大值和最小值
scores= [80, 90, 75, 88, 92]print("平均分:", sum(scores) /len(scores))print("最高分:", max(scores))print("最低分:", min(scores))14. 一个科研风格的小例子
ages= [65, 72, 58, 61, 69]ages= [65, 72, 58, 61, 69]print("平均年龄:", round(mean_age, 2))15. 两组数据怎么表示?
patient_age= [65, 72, 68, 70, 62]control_age= [63, 69, 66, 71, 64]patient_mean=sum(patient_age) /len(patient_age)control_mean=sum(control_age) /len(control_age)print("患者组平均年龄:", patient_mean)print("对照组平均年龄:", control_mean)以后我们用 pandas 后,不会这么手工计算,但这个阶段理解原理非常重要。16. 一个特别容易出现的错误
IndexError: list index out of range我是不是取了一个根本不存在的位置?
17. 再认识一下 type()
18. 为什么列表如此重要?
groups= ["患者", "患者", "对照", "对照"]所以你现在已经开始从“变量”进入“数据集”的思维方式了。今天最需要记住的内容
Python从0开始计数。
第二课练习
你可以直接复制下面这段,但建议先自己猜结果,再运行:scores= [78, 85, 92, 66, 88]print("第一个人的成绩:", scores[0])print("最后一个人的成绩:", scores[-1])print("被试人数:", len(scores))print("平均成绩:", sum(scores) /len(scores))print("最高成绩:", max(scores))print("最低成绩:", min(scores))下一课我们就进入 Python 第一个真正有“编程感”的东西:for循环。一个一个自动处理,而不是自己重复写100遍代码。这个概念也正是以后批量整理 MRI、EEG、Excel 和行为数据的基础。
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。