前面我们已知的三种数据类型 1.整数int() 2.浮点数float() 字符串()
再加上今天我们要学习的两种数据类型 ‘列表’和’字典’
目录
列表的输出
列表需要用中括号[ ]把里面的各种数据框起来,里面的每一个数据叫作“元素”。每个元素之间都要用英文逗号隔开。
list1=['川川',2021,1.70]
print(list1)
如上图,list1是列表名,里面用逗号隔开的我们称之为元素
列表元素提取单个元素
students = ['川川1号','川川2号','川川3号']
print(students[0])
输出的结果是什么呢?是’川川一号‘。 这边注意的是列表第一个元素是从0开始的!
- 偏移量是从0开始的,而非我们习惯的从1开始;
- 列表名后加带偏移量的中括号,就能取到相应位置的元素。
列表提取多个元素
list2 = [1,2,3,4,5]
print(list2[:])
print(list2[2:])
print(list2[:2])
print(list2[1:3])
print(list2[2:4])
让我们看一下他们的输出分别是什么呢?
分别为1,2,3,4,5
3,4,5
1,2
2,3
3,4
这种用冒号来截取列表元素的操作叫作切片,顾名思义,就是将列表的某个片段拿出来
处理。这种切片的方式可以让我们从列表中取出多个元素。
给列表增加/删除元素
增加:用append()给列表增加元素,每次只能增加一个元素。
删除:del语句非常方便,既能删除一个元素,也能一次删除多个元素
#添加
studens = ['老八','老大','老三']
studens.append('长衫')
print(studens)
#删除
students = ['老八','老大','老三','长衫']
del students[1]
print(students)
字典
首先 什么是字典?其实字典和列表有些相同点:
1.有名称;2.要用=赋值;3.用逗号作为元素间的分隔符。
那么他们之间有什么区别呢?
1.列表外层用的是中括号[ ],字典的外层是大括号{ }
列表中的元素是自成一体的,而字典的元素是由一个个键值对构成的,用英文冒号连接。如'长衫':95,其中我们把'长衫'叫键(key),95叫值(value)。
students = ['长衫','川川','小八']
scores = {'长衫':95,'川川':98,'小八':99}
len()函数:得出一个列表或者字典的长度(元素个数),括号里放列表或字典名称。
students = ['长衫','川川','小八']
scores = {'长衫':95,'川川':98,'小八':99}
print(len(students))
print(len(scores))
需要强调的是,字典中的键具备唯一性,而值可重复。
字典的打印:
scores = {'长衫':95,'川川':98,'小八':99}
print(scores['长衫'])
字典增加与删除元素
删除字典里键值对的代码是del语句del 字典名[键],而新增键值对要用到赋值语句字典名[键] = 值。
scores = {'长衫':95,'川川':98,'小八':99}
scores['山海']=12
del scores['长衫']
print(scores)
列表与字典的相同点与不同点:
相同点:
- 有名称;
- 要用=赋值
- 用逗号作为元素间的分隔符。
不同点:
- 列表中的元素是有自己明确的“位置”的,所以即使看似相同的元素,只要在列表所处的位置不同,它们就是两个不同的列表。
- 字典中的数据是随机排列的,列表中的数据是有序排列的
字典与列表的嵌套
种类 | |
第一种:列表嵌套列表 | students = [['长衫','关羽','小八','小黑'],['小佰','小绿','娜娜子','老高']] |
第二种:字典嵌套字典 | scores = { '第一组':{'长衫':95,'关羽':90,'小八':98,'小黑':75}, '第二组':{'小佰':99,'小绿':89,'娜娜子':93,'老高':100} } |
第三种:列表和字典相互嵌套 | students = { '第一组':['长衫','关羽','小八','小黑'], '第二组':['小佰','小绿','娜娜子','老高'] } scores = [ {'长衫':95,'关羽':90,'小八':98,'小黑':75}, {'小佰':99,'小绿':89,'娜娜子':93,'老高':100} ] |
蓝桥杯备战第一天:
题目:有四个数字:1、2、3、4,5能组成多少个互不相同且无重复数字的四位数?各是多少?
代码如下:
for i in range(1,6):
for j in range(1,6):
for k in range(1,6):
for p in range(1,6):
if(i!=j)and(i!=k )and(i!=p)and(j!=k)and(j!=p)and(k!=p):
print(i,j,k,p)
如果对此文章有疑问的话,可以在评论区交流哦!感谢感谢!