提交 70bf2be1 编写于 作者: W wsb

增加python基础语法学习笔记

上级 800850cd
from queue import Queue # 单端队列
from collections import deque # 双端队列
# 列表list
mylist = []
mylist.append(12) # 在列表末尾添加一个元素,相当于 a[len(a):] = [x] 。
mylist.extend([22, 55]) # 用可迭代对象的元素扩展列表。相当于 a[len(a):] = iterable 。
mylist.insert(2, 99) # 在指定位置插入元素。第一个参数是插入元素的索引,
# list.remove(2) # 从列表中删除指定位置的元素,remove不适用于int对象
mylist.pop() # 删除并返回列表的最后一个元素
print(mylist.pop(2)) # 删除并返回列表的第二个元素
print(mylist.index(12)) # 返回列表中第一个值为 12 的元素的零基索引
print(mylist.count(12)) # 返回列表中元素 12 出现的次数。
mylist.extend([22, 55, 66, 1, 2, 0, 6])
mylist.sort() # 就地排序列表中的元素,不是所有数据都可以排序或比较
mylist.reverse() # 翻转列表中的元素。
print(mylist)
mylist2 = mylist.copy() # copy()返回列表的浅拷贝
mylist2.extend(['hello', 'qq']) # 列表可以存储不同类型的数据
print(mylist2)
mylist.clear() # 删除列表里的所有元素,相当于 del a[:] 。
"""
使用列表方法实现堆栈非常容易,最后插入的最先取出(“后进先出”)。
把元素添加到堆栈的顶端,使用 append() 。
从堆栈顶部取出元素,使用 pop() ,不用指定索引
"""
stack = [1, 2, 3]
print(stack)
stack.append(90) # 入栈
print(stack) # print(stack)
stack.pop() # 出栈
print(stack) # [1, 2, 3]
# 队列:最先加入的元素,最先取出(“先进先出”)
qu = Queue() # 创建队列对象
qu.put('kess') # 队列尾部插入元素
qu.put('cat') # 队列尾部插入元素
qu.put('tiger') # 队列尾部插入元素
qu.put('nose') # 队列尾部插入元素
print(qu.queue) # 查看队列中的所有元素
print(qu.get()) # 出队:返回并删除队列头部元素
print(qu.queue) # 查看队列中的所有元素
# 双端队列
dequeQueue = deque(['Eric', 'John', 'Smith'])
print(dequeQueue)
deque(['Eric', 'John', 'Smith'])
dequeQueue.append('Tom') # 在右侧插入新元素
dequeQueue.appendleft('Terry') # 在左侧插入新元素
print(dequeQueue)
deque(['Terry', 'Eric', 'John', 'Smith', 'Tom'])
dequeQueue.rotate(2) # 循环右移2次
print('循环右移2次后的队列', dequeQueue)
dequeQueue.popleft() # 返回并删除队列最左端元素
'Smith'
print('删除最左端元素后的队列:', dequeQueue)
dequeQueue.pop() # 返回并删除队列最右端元素
print('删除最右端元素后的队列:', dequeQueue)
"""
列表推导式创建列表的方式更简洁。常见的用法为,对序列或可迭代对象中的每个元素应用某种操作,
用生成的结果创建新的列表;或用满足特定条件的元素创建子序列。
"""
# 创建平方值的列表:
sq = []
# 下述循环相当于 squares = [x**2 for x in range(10)]
for x in range(10):
sq.append(x ** 2) # 平方值
print(sq)
# 列表推导式中的初始表达式可以是任何表达式,甚至可以是另一个列表推导式。
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
print(matrix)
print(list(zip(*matrix))) # 转置矩阵
# 下面的列表推导式可以转置行列:
rows = [[row[i] for row in matrix] for i in range(4)]
print(rows)
# del 语句
del matrix[0] # 删除第一个元素
del matrix[0:1] # 按切片删除
del matrix # 删除整个变量,此句代码执行后matrix将不能被使用
# 元组和序列
ts = 123, 345, 678, 900, 100
print(ts[0]) # 输出第一个元组 123
print(ts) # 输出所有元组 (123, 345, 678, 900, 100)
ts2 = ts, (1, 2, 3) # 元组嵌套
print(ts2) # ((123, 345, 678, 900, 100), (1, 2, 3))
empty = () # 创建空元组
print(len(empty))
# 集合是由不重复元素组成的无序容器。基本用法包括成员检测、消除重复元素。集合对象支持合集、交集、差集、对称差分等数学运算。
s = set() # 创建空集合只能用 set()
ss = {12, 34, 56} # 使用大{}也可以创建集合
print(ss)
s2 = set('hello world') # 创建有顺序的集合
print(s2)
print('h' in s2) # 'h' in s2 :判断hello是否在s2中
# 集合运算
s3 = ('hel2 wol3d')
print(s2.union(s3))
# 字典
tel = {'a': 22, 'b': 45}
print(tel) # 输出字典
print(list(tel)) # 输出字典的键列表
print(sorted(tel)) # 对字典排序
print('a' in tel) # 检查字典里是否存在某个键,使用关键字 in。
print('a' not in tel) # 检查字典里是否不存在某个键,使用关键字 in。
# 使用dict构造函数创建字典
dt = dict([('name', 12), ('age', 12), ('gade', 34)])
print(dt) # {'name': 12, 'age': 12, 'gade': 34}
# 字典推导式创建字典
dt2 = {x: x ** 2 for x in (2, 3, 4, 5, 6)}
print(dt2)
# 使用简单的关键字指定键值对,从而构造字典
dt3 = dict(qq=123, wechat=345, toktik=789)
print(dt3)
# 使用items同时取出键和值
for k, v in dt3.items():
print(k, v)
# 在序列中循环时,用 enumerate() 函数可以同时取出位置索引和对应的值:
for i, v in enumerate(dt3):
print(i, v)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册