分支语句
if 条件:
elif 条件:
else:
三元操作符
small = x if x<y else y
if x<y:
small = x
else:
small = y
断言assert
assert称为断言,当这个关键字后的条件为false时,程序自动崩溃并抛出AssertionError的异常。可以用这个关键字作为确保某一条件必须成立的检查点。
>>> assert 3>4
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
assert 3>4
AssertionError
for循环
for 目标 in 表达式:
循环体
>>> arr = ['a','bb','ccc']
>>> for i in arr:
print(i,len(i))
a 1
bb 2
ccc 3
range()函数
range([start,]stop[,step=1]) 常与for一起使用
- start非必要参数
- stop必要参数
- step非必要参数 步长
>>> list(range(2,10,3))
[2, 5, 8]
>>> for i in range(1,5):
print(i)
1
2
3
4
break
跳出当前循环
continue
终止本次循环 进行下一次循环
列表
可以放整数 浮点数 字符串 对象
>>> arr = ['a','bb','cc'] #普通列表
>>> arr1 = ['a',2,'bbb',2.34,[1,2,3,4]] #混合列表
>>> arr2 = [] #空列表
>>> arr
['a', 'bb', 'cc']
>>> arr1
['a', 2, 'bbb', 2.34, [1, 2, 3, 4]]
>>> arr2
[]
添加元素
>>> arr.append('dddd') #一次只能加入一个元素
>>> arr
['a', 'bb', 'cc', 'dddd']
>>> arr.extend(['e','f']) #extend参数必须为列表
>>> arr
['a', 'bb', 'cc', 'dddd', 'e', 'f']
>>> arr.insert(0,'zzz') #在第一个位置插入‘zzz’,第一个参数为插入位置
>>> arr
['zzz', 'a', 'bb', 'cc', 'dddd', 'e', 'f']
获取元素
>>> arr[0]
'zzz'
删除元素
>>> arr.remove('a')
>>> arr
['zzz', 'bb', 'cc', 'dddd', 'e', 'f']
>>> del arr[0]
>>> arr
['bb', 'cc', 'dddd', 'e', 'f']
>>> del arr #直接删除arr这个列表
>>> arr
Traceback (most recent call last):
File "<pyshell#44>", line 1, in <module>
arr
NameError: name 'arr' is not defined
>>> arr1.pop() #按后入先出的方式弹出栈
[1, 2, 3, 4]
>>> arr1
['a', 2, 'bbb', 2.34]
>>> arr1.pop(0) #按index弹出栈
'a'
>>> arr1
[2, 'bbb', 2.34]
分片Slice
>>> arr1[0:2] #不对原列表进行修改 只是一个备份
[2, 'bbb']
>>> arr1 #列表没有被改变
[2, 'bbb', 2.34]
>>> arr1[:2]
[2, 'bbb']
>>> arr1[2:]
[2.34]
>>> arr1[:]
[2, 'bbb', 2.34]
比较操作符
>>> arr = [124,234]
>>> arr1 = [456,124]
>>> arr > arr1 #按照顺序 依次对比 只要有一个false 那么结果就为false
False
逻辑操作符
>>> arr < arr1 and arr == arr2
True
连接操作符
>>> arr1 + arr # +不可以添加新元素
[456, 124, 124, 234]
重复操作符
>>> arr*3
[124, 234, 124, 234, 124, 234]
>>> arr
[124, 234]
>>> arr *=3
>>> arr
[124, 234, 124, 234, 124, 234]
成员关系操作符
>>> arr
[124, 234, 124, 234, 124, 234]
>>> 124 in arr
True
>>> 124 not in arr
False
>>> arr
[124, 234, 124, 234, 124, 234, ['aa']]
>>> 'aa' in arr #in只能判断一层
False
>>> 'aa' in arr[6]
True
列表的方法
>>> dir(list) #列表的所有内置方法
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>
#常用方法
>>> arr
[124, 234, 124, 234, 124, 234, ['aa']]
>>> arr.count(234)
3
>>> arr.index(234)
1
>>> arr.index(234,2,4) #返回234 在[2,4)之间的索引
3
>>> arr.reverse()
>>> arr
[['aa'], 234, 124, 234, 124, 234, 124]
>>> arr.pop(0)
['aa']
>>> arr
[234, 124, 234, 124, 234, 124]
>>> arr.sort() #只能排序只有一种数据类型的列表
>>> arr
[124, 124, 124, 234, 234, 234]
>>> arr.sort(reverse=True)
>>> arr
[234, 234, 234, 124, 124, 124]
>>> arr4 = arr3[:] #新开辟了一个arr4 并将arr3的值赋给arr4
>>> arr5 = arr3 #arr3的地址赋给arr5