python基础语法学习历程5

好久都没有更新博文了,今天终于有时间可以更新了。欢迎你可以阅读我的博文,希望可以与你继续驰骋在广阔的编程世界里。
今天我们会接触两种新的数据类型——列表和字典,你会发现,它们比我们学过的“整数、浮点数、字符串”更加高级,更有“包容性”。可以帮我们存储大量数据,让计算机去读取和操作。
列表
先看代码!

students = ['党志文', '浦欣然', '罗鸿朗', '姜信然', '居俊德', '宿鸿福', '张成和', '林景辉', '戴英华', '马鸿宝', '郑翰音', '厉和煦', '钟英纵', '卢信然', '任正真', '翟彭勃', '蒋华清', '双英朗', '金文柏', '饶永思', '堵宏盛', '濮嘉澍', '戈睿慈', '邰子默', '于斯年', '扈元驹', '厍良工', '甘锐泽', '姚兴怀', '殳英杰', '吴鸿福', '王永年', '宫锐泽', '黎兴发', '朱乐贤', '关乐童', '养永寿', '养承嗣', '贾康成', '韩修齐', '彭凯凯', '白天干', '瞿学义', '那同济', '衡星文', '公兴怀', '宫嘉熙', '牧乐邦', '温彭祖', '桂永怡']
for i in students:
    print(i+'在不在?')

发现了什么呢?赋值号右边不再像字符串那样只能放一个名字,而是放了50个。这就是我们要新认识的第一个数据类型——列表。

首先,我们来看看列表(list)的代码格式:

students = ['党志文', '浦欣然', '罗鸿朗']
#列表名 赋值号 中括号 名字 英文逗号

[‘党志文’, ‘浦欣然’, ‘罗鸿朗’] 就是一个列表,一个列表需要用中括号[ ]把里面的各种数据框起来,里面的每一个数据叫作“元素”。每个元素之间都要用英文逗号隔开。
如何从列表提取单个元素?
这里涉及到一个新的知识点:偏移量。列表中每个元素都有自己的位置编号(即偏移量)。
1.偏移量是从0开始的,而非我们习惯的从1开始;
2.列表名后加带偏移量的中括号,就能取到相应位置的元素。
比如要取’党志文’这个元素,则写法为 students [0]
所以,我们可以通过偏移量来对列表进行索引(可理解为搜索位),读取我们所需的元素。
如何从列表提取多个元素?

list2 = [5,6,7,8,9]
print(list2[:])
# 打印出[5,6,7,8,9]
print(list2[2:])
# 打印出[7,8,9]
print(list2[:2])
# 打印出[5,6]
print(list2[1:3])
#打印出[6,7]
print(list2[2:4])    
#打印出[7,8]

用冒号来截取列表元素的操作叫作切片,也就是说将列表的某个片段拿出来处理。这种切片的方式可以让我们从列表中取出多个元素。
这里有一句口诀,大家一当要记住哦。
左右空,取到头,左要取,右不取。
意思是说:冒号左边空,就要从偏移量为0的元素开始取;右边空,就要取到列表的最后一个元素。后半句:冒号左边数字对应的元素要拿,右边的不动。
这里有一个细节需要我们注意一下:偏移量取到的是列表中的元素,而切片则是截取了列表的某部分,所以还是列表。看下下面的代码就会明白了

students = ['党志文', '浦欣然', '罗鸿朗']
print(students[2])
#打印出 罗鸿朗
print(students[2:])
#打印出 ['罗鸿朗'] 

如何给列表增加/删除元素?
我们需要用到append()函数给列表增加元素,append的意思是附加,增补且每次只能增加一个元素。使用方法为:

students = ['小明','小红','小刚']
students.append('小美')
print(students)
#打印出 ['小明', '小红', '小刚', '小美']

删除元素需要用到del语句。del 列表名[元素的索引]

字典
什么是字典?

scores = {'小明':95,'小红':90,'小刚':90}
#字典名 赋值号 大括号 键 冒号

字典和列表有3个地方是一样的:1.有名称;2.要用=赋值;3.用逗号作为元素间的分隔符。不一样的有两处:1.列表外层用的是中括号[ ],字典的外层是大括号{ };
‘小明’:95 叫做【键值对】
如何从字典中提取元素?
这里涉及到字典的索引,和列表通过偏移量来索引不同,字典靠的是键。

scores = {'小明': 95, '小红': 90, '小刚': 90}
print(scores['小明'])

字典名[字典的键]。
如何给字典增加/删除元素?
删除字典里键值对的代码是del语句del 字典名[键],而新增键值对要用到赋值语句字典名[键] = 值

字典与列表的不同点:列表中的元素是有自己明确的“位置”的,所以即使看似相同的元素,只要在列表所处的位置不同,它们就是两个不同的元素。而字典相比起来就显得随和很多,调动顺序也不影响。因为列表中的数据是有序排列的,而字典中的数据是随机排列的。列表有序,要用偏移量定位;字典无序,便通过唯一的键来取值.
字典与列表的共同点:在列表和字典中,如果要修改元素,都可用赋值语句来完成;支持任意嵌套。除之前学过的数据类型外,列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表。
第一种:列表嵌套列表:

students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]

当我们在提取这种多级嵌套的列表/字典时,要一层一层地取出来,就像剥洋葱一样:
[‘小明’,‘小红’,‘小刚’,‘小美’] 为students[0]
[‘小强’,‘小兰’,‘小伟’,‘小芳’] 为students[1]
如果要取出小伟,则代码为

students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]
print(students[1][2])
#小伟是students[1]列表里偏移量为2的元素

第二种:字典嵌套字典
如果要取出小芳,则代码为

scores = {
    '第一组':{'小明':95,'小红':90,'小刚':100,'小美':85},
    '第二组':{'小强':99,'小兰':89,'小伟':93,'小芳':88}
    }
print(scores['第二组']['小芳'])

第三种:看看列表和字典相互嵌套的情况,可以将代码和注释结合起来看。

# 最外层是大括号,所以是字典嵌套列表,先找到字典的键对应的列表,再判断列表中要取出元素的偏移量
students = {
    '第一组':['小明','小红','小刚','小美'],
    '第二组':['小强','小兰','小伟','小芳']
    }
print(students['第一组'][3])
#取出'第一组'对应列表偏移量为3的元素,即'小美'

# 最外层是中括号,所以是列表嵌套字典,先判断字典是列表的第几个元素,再找出要取出的值相对应的键
scores = [
    {'小明':95,'小红':90,'小刚':100,'小美':85},
    {'小强':99,'小兰':89,'小伟':93,'小芳':88}
    ]
print(scores[1]['小强'])
#先定位到列表偏移量为1的元素,即第二个字典,再取出字典里键为'小强'对应的值,即99。

这是我在风变编程学习时整理的笔记哦,有需要的同学可以看看啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值