列表和字典
优点
列表和字典,它们比“整数、浮点数、字符串”更加高级,更有“包容性;因为可以帮我们存储大量数据,让计算机去读取和操作
什么是列表
示例值:students=['小明',‘小花’,‘18’,20,1.77,'孙琳']
1:students是列表名
2:必须有赋值符号=
3:必须用中括号
4:各个元素之间必须是英文逗号
5:列表里的元素可以是字符串,数字,整数,浮点数,所以列表包容性很强
总结:一个列表需要用中括号[ ]
把里面的各种数据框起来,里面的每一个数据叫作“元素”;每个元素之间都要用英文逗号隔开。
从列表提取单个元素
这就涉及到一个新的知识点:偏移量。
列表中的各个元素,是有序地排列的,也就是说,每个元素都有自己的位置编号(即偏移量)。
1.偏移量是从0开始的,而非我们习惯的从1开始
2.列表名后加带偏移量的中括号,就能取到相应位置的元素。
从列表提取多个元素
1:下列:
左右两边的数字指的是列表中元素的偏移量,记住偏移量(索引)始终是从0开始的
2:用冒号来截取列表元素的操作叫作“切片”,顾名思义,就是将列表的某个片段拿出来处理。这种切片的方式可以让我们从列表中取出多个元素。
3:遵循规则:左右空取到头,左要取,右不动
前半句:冒号左边空,就要从偏移量为0的元素开始取;右边空,就要取到列表的最后一个元素。后半句:冒号左边数字对应的元素要拿,右边的不动
4:偏移量取到的是列表中的元素,而切片则是截取了列表的某部分,所以还是列表,如下图:
给列表增加元素
1:需要用到append()函数给列表增加元素,append的意思是附加,增补。
2:append后的括号里只能接受一个参数;用append()给列表增加元素,也算是一个元素;每次只能增加一个元素。
3:示例值:
students=['小明','小花']
students.append('小美')
print(students)
给列表删除元素
事实上del语句非常方便,既能删除一个元素,也能一次删除多个元素(原理和切片类似,左取右不取)
列表总结
什么是字典
1:字典以键值对的形式展示,一个键key对应一个值value
2:字典用大括号,每个元素需要逗号分开
3:如果不想口算,可以用len()函数来得出一个列表或者字典的长度(元素个数),括号里放列表或字典名称。
4:这里需要强调的是,字典中的键具备唯一性,而值可重复。也就是说字典里不能同时包含两个'小明'
的键,但却可以有两个同为90
的值。
从字典中提取元素
1:从字典中提取对应的值的用法,和列表相似的是要用[ ]
,不过因为字典没有偏移量,所以在中括号中应该写键的名称,即字典名[字典的键]
scores={'小明':95,'小红':90,'小花':90,}
print(scores['小红'])
从字典中新增/删除元素
1:删除字典里键值对的代码是del语句del 字典名[键]
2:新增键值对要用到赋值语句字典名[键] = 值
总结字典
列表和字典对比
不同点:
1.列表外层用的是中括号[ ]
,字典的外层是大括号{ }
;
2.列表中的元素是自成一体的,而字典的元素是由一个个键值对构成的,用英文冒号连接。如'小明':95
,其中我们把'小明'
叫键(key),95
叫值(value)。
列表:students = ['小明','小红','小刚']
字典:scores = {'小明':95,'小红':90,'小刚':90}
3:从字典中提取对应的值的用法,和列表相似的是要用[ ]
,不过因为字典没有偏移量,所以在中括号中应该写键的名称,即字典名[字典的键],如下图:
4:一个很重要的不同点是列表中的元素是有自己明确的“位置”的,所以即使看似相同的元素,只要在列表所处的位置不同,它们就是两个不同的列表;而字典相比起来就显得随和很多,调动顺序也不影响。因为列表中的数据是有序排列的,而字典中的数据是随机排列的。
这也是为什么两者数据读取方法会不同的原因:列表有序,要用偏移量[]定位;字典无序,便通过唯一的键来取值
相同点:
1.有名称;2.要用=
赋值;3.用逗号作为元素间的分隔符。
2:列表和字典都可以嵌套列表或字典
如下是列表嵌套列表,如果把小芳取出来
students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]
print(students[1][3])
3:如下是字典嵌套字典,如果把小刚取出来
4:看看列表和字典相互嵌套的情况,可以将代码和注释结合起来看。
元组
tuple,和列表一样,有偏移量用来定位,同时也可以互相嵌套