python基础-if语句、字典
if
基本格式
car = 'bmw'
if(car == 'audi'):
print('yes')
else:
print('no')
如果多个条件
num = 10
if(num > 1 and num <= 100):
print('yes')
py中没有&&,&&相当于and,||相当于or
使用in判断某一值是否在列表中
list = list(range(1, 101))
if(100 in list):
print('yes')
else:
print('no')
// yes
not in判断 特定值是不是没有包含在列表中
list = list(range(1, 101))
if 102 not in list:
print('yes')
else:
print('no')
if-elif-else
age = 12
if age < 4:
print('<4')
elif age < 18 and age > 4:
print('<18 > 4')
else:
print('>18')
判断列表是否为空:(PY没有 !emptyList 会报错)
emptyList = []
if emptyList:
print('not empty')
else:
print('empty')
当 布尔型的变量 判断的时候,只有使用not 不能用 !,如下:
注意:False
正是 Python 布尔型的标准写法,pY中布尔型(Boolean)的两个值必须严格大写,即True
(表示 “真”)和False
(表示 “假”)—— 首字母大写,其余字母小写,这是 Python 的语法规则,不能修改。False:是 Python 内置的布尔值,代表 “假”,符合语法规则;false/FALSE:会被 Python 当作 “未定义的变量名”,如果直接使用会报错 NameError: name 'false' is not defined。
isboolvar = False
if not isboolvar:
print('not not ')
三元表达式
比如我在使用playwright进行爬取DOM结构的时候:
el_play_icon= el_cover.query_selector('play-icon')is_video= el_play_icon ?True:False错误
上面写法是不对的
py的三元表达式:结果1 if 条件 else 结果2
el_play_icon= el_cover.query_selector('.play-icon')(类选择器)
is_video=True if el_play_icon else False
字典
定义字典(对象)
alien = {
'color': 'green',
'point': 5
}
print(alien['color'])
print(alien['point'])
给字典新增键值对
alien['x'] = 23
alien['y'] = 'ok'
print(alien)
// {'color': 'green', 'point': 5, 'x': 23, 'y': 'ok'}
删除某个键值对
del alien['point'];
print(alien)
遍历字典
for (key, value) in alien.items():
print( key + ':' + str(value) )
注意!如果值是数字,需要转化为字符串才能使用+拼接
for key, value in alien.items():
也可以不要括号
返回的键值对顺序与存储顺序可能不同!获取字典元素的顺序是不可预测的!
仅遍历字典中的键 key
for key in alien.keys():
print( key )
keys方法返回字典中所有键组成的列表
keysList = alien.keys()
print(keysList)
// dict_keys(['color', 'point', 'x', 'y'])
按顺序遍历字典中所有键
for name in sorted(alien.keys()):
print(name)
这里使用函数sorted() 获得按特定顺序排列的键列表的副本,输出前对列表先进行排序
获取值列表,不包含键的信息
for val in alien.values():
print(val)
当获得的values有太多重复项,需要对值列表进行去重,可以使用set()集合,集合类似于列表,但是每个元素都必须是独一无二的
for val in set(alien.values()):
print(val)
使用set对获得的值列表去重
将字典嵌套进列表中
ages = range(1, 5)
objs = []
for age in ages:
obj = {
'age' : age,
'name' : 'wubin-work' + str(age)
}
objs.append(obj)
print( objs )
输出结果
[{'age': 1, 'name': 'wubin-work1'}, {'age': 2, 'name': 'wubin-work2'},..., {'age': 4, 'name': 'wubin-work4'}]
字典中也能存储列表
obj = {
'age': 14,
'family': ['dad', 'mom', 'son']
}
字典中也能存储字典,就像JS的对象嵌套一样。在此就不演示了。