python 中列表,元组,字典 的使用注意事项
·
列表,元组,字典作为特殊的数据类型在python编程中经常用到,对于这三种数据类型的使用方法和注意事项进行区分避免出现bug。
1.列表
列表list 用[ ] 表示,列表是可以存放任何数据,包括整型,浮点型,字符串,布尔型等等,是常用的数据类型之一。列表相当于一个百宝箱可以存放任何数据,不用区分数据类型。
列表分为普通列表,混合列表和空列表
普通列表
list_syy = [1, 2, 3, 4]
表示一个整形列表
list_syy = ["syy", "hello word"]
表示一个字符串列表
list_syy = [1<2, True]
表示一个布尔列表
list_syy = [1,2,3,4,"syy","hello word",1<2,True]
表示一个混合列表
list_syy = []
表示一个空列表
注意:布尔列表中True首字母大写才表示布尔类型,同理False首字母大写才表示布尔类型否则会报错
对于列表通常有增加,删除,修改和切片以及翻转,排序,拼接等操作详细举例如下
(1).从列表中获取数据就是数据的索引,通过下标来索引,下标是从0 开始的,
语法:
变量[下标]
获取混合列表list_syy中的syy字符串
list_syy = [1,2,3,4,"syy","hello word",1<2,true]
首先syy在列表中从0开始数第4个位置上
print(list_syy[4])
如果想把列表中的所有元素都获取一遍用循环语句
for i in list_syy:
print(i, end=" ")
(2). 从列表中添加元素,添加一个元素和多个元素的语法
| 函数 | 语法 | 举例 | 说明 |
| append | 变量.函数 | list. append(对象) | 向列表添加对象并加到末尾,只能添加一个元素 |
| extend | 变量.函数 | list.extend(可迭代对象) | 将可迭代对象中的数据分别添加到列表末尾,可以同时添加多个元素 |
| insert | 变量.函数 | list.insert(下标,对象) | 向指定下标位置添加对象 |
举例:
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
使用append函数时的两个注意事项
list_syy.append(6,7) #使用append添加两个元素使会报错
print(list_syy)
报错内容
list_syy.append(6,7)
TypeError: append() takes exactly one argument (2 given)
如果改成如下方式
list_syy.append([6,7])
则会输出
[1, 2, 3, 4, 'syy', 'hello word', True, True, [6, 7]]
如果使用extend函数
list_syy.extend([6,7])
则会输出
[1, 2, 3, 4, 'syy', 'hello word', True, True, 6, 7]
insert函数的使用举例
list_syy.insert(6,7)
输出
[1, 2, 3, 4, 'syy', 'hello word', 7, True, True]
(3).从列表中删除一个或多个元素
| 函数 | 语法 | 举例 | 说明 |
| clear() | list.函数 | list.clear() | 清空列表,全部清空,括号里不能有数字否则报错 |
| pop() | list.函数 | list.pop(下标) | 删除下标指定的元素,如果不加下标则删除最后一个元素 |
| remove(对象) | list.函数 | list.remove(对象) | 删除指定的对象,就是具体的元素 |
| del | 函数 list | del list[对象] | 删除变量或指定下标的值 |
举例
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
list_syy.clear()
print(list_syy)
输出为
E:/code/image_opencv_test/test.py
[]
注意:clear函数不能删除特定的元素,只能删除整个列表,伤害性极大,谨慎使用
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
list_syy.pop(1)
print(list_syy)
输出为
[1, 3, 4, 'syy', 'hello word', True, True]
表示删除列表中第一个元素,其他元素保留
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
list_syy.pop()
print(list_syy)
输出为
[1, 2, 3, 4, 'syy', 'hello word', True]
删除了列表最后一个元素
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
list_syy.remove("syy")
print(list_syy)
输出为
[1, 2, 3, 4, 'hello word', True, True]
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
list_syy.remove(2)
print(list_syy)
输出为
[1, 3, 4, 'syy', 'hello word', True, True]
注意与pop函数的用法区别,remove是删除具体的元素,pop是删除通过下标索引到的元素
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
del list_syy[1]
print(list_syy)
输出为
[1, 3, 4, 'syy', 'hello word', True, True]
注意下标用[]而不是()与pop注意区分
总结:del函数和clear 函数破坏力极大一般不常用,编程中常用的remove函数和pop函数,掌握一个就够用了
(4).修改元素
语法 变量[下标]=新值
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
list_syy[1]=8
print(list_syy)
输出为
[1, 8, 3, 4, 'syy', 'hello word', True, True]
(5)列表的切片操作
切片就是把一个列表切分为多个列表,类似于视频切片,想要哪段取哪段
语法 变量[起始下标:结束下标] #结束下标取不到
注意事项
①如果下标从0开始可以省略不写,例如 n = l[:4]
②如果结束下标取的是最后一个元素,可以省略不写,例如 n = l[3:]
③如果列表中的元素都要,开始和结束下标都可以省略,例如 n = l[:]
④n = l[:-1] 表示从0开始 - 倒数第二个元素(倒数从1开始数)
切片注意事项举例
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
n = list_syy[:5] #表示取0~4共五个下标
print(n)
输出为
[1, 2, 3, 4, 'syy']
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
n = list_syy[5:] #表示取从第五个下标开始的内容
print(n)
输出为
['hello word', True, True]
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
n = list_syy[:]
print(n)
输出为
[1, 2, 3, 4, 'syy', 'hello word', True, True]
list_syy = [1, 2, 3, 4, "syy", "hello word", 1 < 2, True]
n = list_syy[:-3]
print(n)
输出为
[1, 2, 3, 4, 'syy']
重点注意:结束的下标是取前一个位置的,因为列表中的下标是从0开始数的,我们是按照从1开始数的,我们数到的5,对于下标来说是4
更多推荐


所有评论(0)