基于Python3版本的学习。

列表

用中括号[ ]把里面的各种数据框起来,里面的每一个数据叫作“元素”。
每个元素之间都要用英文逗号隔开。

list1=['小明',18,1.70]
print(list1)

从列表提取单个元素

通过偏移量来提取列表中的元素。
1.偏移量是从0开始的,而非我们习惯的从1开始;
2.列表名后加带偏移量的中括号,就能取到相应位置的元素。

students = ['小明','小红','小刚']
print(students[0])
>小明

从列表提取多个元素

用冒号:截取列表元素的操作叫做切片。截取完后,还是列表。
冒号左右两边的数字指的是列表中元素偏移量是从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]

规律:左右空取到头;做要取右不取。
如:
list2[2:] :从偏移量list2[2]开始取,即从7开始取;冒号右边为空所以取到头9。
list2[1:3]:从偏移量list2[1]开始取,即从6开始取;冒号右边有数字所以取到偏移量list2[3](该偏移量不取)的前一位,即8的前一个7。

给列表增加/删除元素

增加元素:append()函数 / extend()函数 / insert()函数

1.用append()函数给列表增加元素,append的意思是附加,增补。
用append()给列表增加元素,每次只能增加一个元素。

① 列表中的元素可以是字符串、数字等,也可以是列表本身(即列表内部支持嵌套)。
② append函数后的参数只要满足数量为一即可(单个列表也会视作一个元素)。
③ append函数后的元素,会添加在列表的末尾。

2.用extend()函数可将两个列表内的数整合在一个列表中。
语法:a.extend(b)
在a的基础上将b内的元素添加到a中。

3.用insert()函数可在列表的任何位置插入新元素。
语法:a.insert(b,c)
在列表a的索引序号为b的位置之前插入值为c的元素。

删除元素:pop()函数 / remove()函数 / del

1.用pop()函数从列表中删除元素,可以通过指定索引号来删除列表中的元素,并且会返回删除了的元素值。如果指定了索引区间之外的值,会返回e错位值。
语法:a.pop(b)
删除列表a中索引号为b的元素。

2.用remove()函数可从列表中删除有特定值的元素。如果列表中存在多个指定值,则删除第一个被发现的指定值。如果没有,会返回错位值。
语法:a.remove(b)
删除列表a中特定值为b的元素。其中a为列表名,b为特定值。

3.用del删除列表中的元素,是将元素的对象本身从内存中删除。del语句非常方便,既能删除一个元素,也能一次删除多个元素(原理和切片类似,左取右不取)。
语法:del a[b]
将元素a[b]从列表中删除。其中a为列表名,b为索引号。


字典

看下面代码结构:

scores = {'小明':95,'小红':90,'小刚':90}

其中:scores 为字典名, = 为赋值符号,用 英文逗号 作为元素间的分隔符,外层用 大括号{} 框起来,‘小明’:95 构成一对键值对,‘小明’ 叫键(key), 95 叫值(value)。

1.列表中的元素是自成一体的,而字典的元素是由一个个键值对构成的,用英文冒号连接。
2.可以用len()函数来得出一个列表或者字典的长度(元素个数),括号里放列表或字典名称。

强调:
字典中的键具备唯一性,而值可重复。也就是说字典里不能同时包含两个’小明’的键,但却可以有两个同为90的值。

3.索引:和列表通过偏移量来索引不同,字典靠的是键。

print(students[0])      #列表通过偏移量索引
print(scores['小明'])   #字典通过键索引

给字典增加/删除元素

新增键值对要用到赋值语句:字典名[键] = 值
删除字典里键值对的代码是del语句:del 字典名[键]

列表和字典的不同点

不同点:
列表有序,要用偏移量定位;
字典无序,便通过唯一的键来取值。
相同点:
1.在列表和字典中,如果要修改元素,都可用赋值语句来完成。

list1 = ['小明','小红','小刚','小美']
list1[1] = '小蓝'
print(list1)                #运行结果:['小明', '小蓝', '小刚', '小美']dict1 = {'小明':'男'}
dict1['小明'] = '女'
print(dict1)                #运行结果:{'小明': '女'}

2.支持任意嵌套。除之前学过的数据类型外,列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表。

列表嵌套:

students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]
print(students[1][1])      #运行结果:小兰

字典嵌套:

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

拓展知识:元组(tuple)

元组和表格很相似,不过,它是用小括号()来包的。
元组和列表都是序列,提取的方式也是偏移量,如 tuple1[1]、tuple1[1:]。
另外,元组也支持任意的嵌套。


风变编程学习笔记 / 代码练习

练习1:
请你根据提供的信息,把列表list1中的’love’取出来,并打印出来。将tuple1中的A和list2中的D打印出来。

代码:

list1 = [{'嫉妒':'envy'},{'恨':'hatred'},{'爱':'love'}]
print(list1[2]['爱'])# 第一步:取出列表中的第三个元素(list1[2]),字典{'爱':'love'};
# 第二步:取出list1[2]中键'爱'所对应的值,即'love’(list1[2]['爱'])。dict1 = {1:['cake','scone','puff'],2:['London','Bristol','Bath'],3:['love','hatred','envy']}
print(dict1[3][0])# 第一步:取出字典中键为3对应的值(dict1[3]),即['love','hatred','envy']。
# 第二步:再取出列表['love','hatred','envy']中的第一个元素(dict1[3][0])。tuple1 = ('A','B')
list2 = [('A','B'),('C','D'),('E','F')]print(tuple1[0])
print(list2[1][1])# 从代码里,也可看出:1.元组内数据的提取也是用偏移量;2.元组也支持互相嵌套。

运行结果:

bash:root$ python ~/practice/apps-1-id-5cd9765919bbcf00015547a4/root/main5.py
love
love
A
D

练习2:
请你通过所学知识,把列表中的“狼”取出来,并打印出来。
townee = [
{‘海底王国’:[‘小美人鱼’‘海之王’‘小美人鱼的祖母’‘五位姐姐’],‘上层世界’:[‘王子’,‘邻国公主’]},
‘丑小鸭’,‘坚定的锡兵’,‘睡美人’,‘青蛙王子’,
[{‘主角’:‘小红帽’,‘配角1’:‘外婆’,‘配角2’:‘猎人’},{‘反面角色’:‘狼’}]
]

代码:

townee = [{'海底王国':['小美人鱼''海之王''小美人鱼的祖母''五位姐姐'],'上层世界':['王子','邻国公主']},'丑小鸭','坚定的锡兵','睡美人','青蛙王子',[{'主角':'小红帽','配角1':'外婆','配角2':'猎人'},{'反面角色':'狼'}]]print(townee[5][1]['反面角色'])

运行结果:

bash:root$ python ~/practice/apps-1-id-5cd9765819bbcf00015547a3/root/main3.py
狼

Python学习笔记 | 列表和字典相关推荐

  1. Python学习笔记D8(字典与集合)

    Python学习笔记D8(字典与集合) 「字典」定义语法为 {元素1, 元素2, -, 元素n} 其中每一个元素是一个「键值对」- 键:值 (key:value)关键点是「大括号 {}」,「逗号 ,」 ...

  2. python学习笔记——集合与字典

    python学习笔记--集合与字典 1. 集合的基本概念 1.1 set(x)函数 1.2 集合类型的10个操作函数 2. 字典的基本概念 2.1 字典的索引 2.2 字典的操作 2.3 字典小结 1 ...

  3. Python 学习笔记 列表 range() xxx XXX

    Python 学习笔记 列表 range() xxx XXX print("-" * 30) for value in range(1, 5):print(value)number ...

  4. Python 学习笔记 列表 xxx XXX

    Python 学习笔记 列表 xxx XXX bicycles = ['trek', 'cannondale', 'redline', 'specialized'] print(bicycles) p ...

  5. Python 学习笔记 列表 排序 xxx XXX

    Python 学习笔记 列表 排序 xxx XXX print("-" * 30) cars = ['bmw', 'audi', 'toyota', 'subaru'] cars. ...

  6. python学习笔记之三:字典,当索引不好用时

    字典是python中唯一内建的映射类型.字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里. 键可以是数字,字符串甚至是元组. 1. 创建和使用字典 字典可以通过下面的方式创建: pho ...

  7. python学习笔记列表和元组(三)

    列表(list) 是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表.列表是可变的(mutable)--可以改变列表的内容. 对应操作: 1.查([]切 ...

  8. Python学习笔记 列表中的冒号作用

    python中括号[ ]:用于定义列表或引用列表.数组.字符串及元组中元素位置 冒号: 用于定义分片.步长. a[ : n]表示从第0个元素到第n个元素(不包括n),a[1: ] 表示该列表中的第1个 ...

  9. python 学习笔记 - for循环: 字典遍历, 分别打印key, value, key:value

    #遍历字典, 分别打印key, value, key:value emp = {'name':'Tom', 'age':20, 'salary' : 8800.00}for k in emp.keys ...

最新文章

  1. 百度正在加速小程序的开放趋势
  2. MySQL-事务管理(基础)
  3. bom event周期_DOM-BOM-EVENT(1)
  4. [转载] 陈皓:一些重要的算法
  5. 学习笔记-AngularJs(四)
  6. 真实AIS数据,解码,可视化
  7. 戴尔电脑好还是华为好_华硕和戴尔笔记本哪种好 华硕和戴尔优缺点分析【详解】...
  8. DirectX SDK (June 2010)安装错误S1023,解决方法
  9. PAIP.提升安全性---更好的签名HASH算法
  10. webUploader大文件断点续传学习心得
  11. gomarket服务器位置,V712双核版机型常见问题集解答.pdf
  12. 屏幕刷新频率怎么更改?
  13. uni-app uView UI框架 下载安装教程
  14. excel根据颜色赋值 Excel填充颜色单元格替换成数字 excel把所有红色变成1
  15. 终于给自己买了台电脑
  16. 朱晔的互联网架构实践心得S2E1:业务代码究竟难不难写? | 掘金年度征文
  17. JSON入门学习总结
  18. 测试管理之--团队组建
  19. flash制作水波,根据鼠标点击产生效果
  20. 2020-02-26

热门文章

  1. 【ASM】史上最通俗易懂的ASM教程 ASM 插件
  2. mybatis条件语句中带数组参数
  3. Openlayers 图形要素 Feature 闪烁
  4. vs2022的下载及安装教程
  5. MdEditor-v3中上传照片的前后端对接(图片上传至又拍云云储存)
  6. vulnhub私钥泄露实战
  7. 【编译器】Dev C++ 执行程序 显示“Fail to excute **/**/ .exe, Error: 0 操作成功完成。{未解决}
  8. Uber jvm profiler 使用
  9. linux系统下配置mysql数据库问题解决。
  10. Linux设置开机自动连接网络