从列表到序列需要注意的问题
( 未完,仅目录)
列表
简单数据类型
容器数据类型
- 列表<class ‘list’>
- 元组<class ‘tuple’>
- 字典<class ‘dict’>
- 集合<class ‘set’>
- 字符串<class ‘str’>
列表的定义和创建
列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象,语法为 [元素1, 元素2, …, 元素n]
- 创建一个普通列表
- 利用range()创建列表
- 利用推导式创建列表
注意:x = [a] * 4操作中,只是创建4个指向list的引用,所以一旦a改变,x中4个a也会随之改变。
- 创建一个混合列表
- 创建一个空列表
列表中元素的添加、删除、获取
`
添加:
list.append(obj) 在列表末尾添加新的对象,只接受一个参数,参数可以是任何数据类型,被追加的元素在list` 中保持着原结构类型。- 注意
append()和extend()的区别。 list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)list.insert(index, obj)在编号index位置插入obj。
删除:
list.remove(obj)移除列表中某个值的第一个匹配项list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值del var1[, var2 ……]删除单个或多个对象。- 如果从列表中删除元素,且不再以任何方式使用它,就使用del语句;如果在删除元素后还要继续使用它,就使用方法
pop()。
获取:练习示例
例1
x = ['Monday', 'Tuesday', 'Wednesday', ['Thursday', 'Friday']]
print(x[0], type(x[0])) # Monday <class 'str'>
print(x[-1], type(x[-1])) # ['Thursday', 'Friday'] <class 'list'>
print(x[-2], type(x[-2])) # Wednesday <class 'str'>
例2
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(x[3:]) # ['Thursday', 'Friday']
print(x[-3:]) # ['Wednesday', 'Thursday', 'Friday']
例3
week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(week[:3]) # ['Monday', 'Tuesday', 'Wednesday']
print(week[:-3]) # ['Monday', 'Tuesday']
例4
week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(week[1:3]) # ['Tuesday', 'Wednesday']
print(week[-3:-1]) # ['Wednesday', 'Thursday']
例5
week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(week[1:4:2]) # ['Tuesday', 'Thursday']
print(week[:4:2]) # ['Monday', 'Wednesday']
print(week[1::2]) # ['Tuesday', 'Thursday']
print(week[::-1])
# ['Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday']
例6
eek = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(week[:])
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
例7 深浅拷贝
list1 = [123, 456, 789, 213]
list2 = list1
list3 = list1[:]
print(list2) # [123, 456, 789, 213]
print(list3) # [123, 456, 789, 213]
list1.sort()
print(list2) # [123, 213, 456, 789]
print(list3) # [123, 456, 789, 213]
list1 = [[123, 456], [789, 213]]
list2 = list1
list3 = list1[:]
print(list2) # [[123, 456], [789, 213]]
print(list3) # [[123, 456], [789, 213]]
list1[0][0] = 111
print(list2) # [[111, 456], [789, 213]]
print(list3) # [[111, 456], [789, 213]]
列表的常用操作符
- 等号操作符:
== - 连接操作符
+ - 重复操作符
* - 成员关系操作符
in、not in
「等号 ==」,只有成员、成员位置都相同时才返回True。
列表拼接有两种方式,用「加号 +」和「乘号 *」,前者首尾拼接,后者复制拼接。
列表的其他方法
list.count(obj)统计某个元素在列表中出现的次数list.index(x[, start[, end]])从列表中找出某个值第一个匹配项的索引位置list.reverse()反向列表中元素list.sort(key=None, reverse=False)对原列表进行排序。
此外
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
该方法没有返回值,但是会对列表的对象进行排序。
元组
创建和访问、更新和删除一个元组
元组相关的操作符
内置方法
解压元组
字符串
常用转义字符:
\\ 反斜杠符号
\' 单引号
\" 双引号
\n 换行
\t 横向制表符(TAB)
\r 回车
892

被折叠的 条评论
为什么被折叠?



