首页 > 编程知识 正文

python和java,python为什么叫爬虫

时间:2023-05-05 20:05:46 阅读:139465 作者:1615

python高级加载Day6 hello world! 今天是python学习的第六天。 在下一篇文章中介绍基础语法。 主要是元组和词典的深入学习等。 1.1元组1.1元组是不可变列表元素,可以是任何类型的数据。

tuple1=(10,' abc ',[ 1,2 ] ) print ) tuple1)从列表中检索元素的方法适用于元组

tuple2=((杨幂)、()刘亦菲)、()赵丽颖)、() bhdbmh )、()孙俪) ) print ) tuple2[1] )1) for x in tuple2: print(x,x item )2)切片print ) tuple2[1:4:2] )3)列表相关操作为组print ) ),2,3 )3)3) print (1,2,3 )=300 ) 100 76 )打印(max (nums ) (print )打印(tuple ) ABC ) (print ) len ) nums ) (print ) sorted ) nums ) (print ) max (nux ) nux ) nume 1 ) print(nums.count(10 ) ) print (nums.index ) 32 ) 1.2元组特有的一些方法和功能1 )只有一个元素的元组: )中唯一元素之后是逗号ling print(type(tuple1) ) tuple1=(100,) print (type ) tuple1) )2)直接用逗号分隔多个数据也可以表示元组(元组的括号不明确300print(type ) tuple3)3)取得要素时,通过使变量的个数和元组内的要素的个数一致,可以单独取得元组内的各要素的值。 point=(100,200 ) x,y=pointprint(x ) x,y ) point=100,200,300 x,y,s=pointprint(x,y,s ) a,b,s

stu=()安静的香烟)、30、)男人)、89、78、56、100 ) name、age、gender、*scores=stuprint ) name、age、gender、scores

2 .词典问题:列表中同时保存多个语义不同的数据时,代码可读性较低

stu=[ '安静的香烟',20,'男人',' 15300022703 ',' 13767586542 ',56,170,89 ]解决方案:用字典保存多种含义不同的数据

stu={'name': '安静的香烟',' age':20,' sex': '男人',' tel':'15300022703 ',' m-tel ' 3: 其中,元素必须是键-值对。)

{键1 :值1,键2 :值2,键3 :值3, }

词典是可变的(支持增删); 无序(不支持下标操作)

词典要素:键是不变的、唯一的; 值可以是任何类型的数据,也可以重复

print((a ) :10,b ) :20 )=) b65:20,a653:10 ) dict1=) 10:100,ABC ) 3360200,) ABC ) 336010键定义用于存储狗信息(包括名称、品种、颜色和年龄)的词典。

dog={ '名称' : '咪咪','品种' : '西伯利亚雪橇犬','颜色' : '黑白相间','年龄' 3360'3'}print(dog ) (颜色) 2。

a .词典【key】-获取与词典中指定的key相对应的值(key不存在会出错) ) ) ) ) )。

b .字典. get(key ) -获取与字典中指定的key对应的值)如果key不存在,则不报告错误,返回none ) )。

c .字典. get(key,默认) -获取与字典中指定的key相对应的值)如果key不存在,则不报告错误

返回默认值)

movie1 = { 'name':'战狼', 'director':'吴京', 'actor':'吴京', 'release_time':'2015', 'kind':'动作/战争/军事'}print(movie1['name'])print(movie1['kind'])movie2 = { 'name':'沉默的羔羊', 'director':'从容的自行车', 'actor':'朱迪·福斯特、zxdch、跳跃的石头', 'release_time':'1991', 'kind':'犯罪/惊悚'}print(movie2.get('kind'))# key不存在时不会报错print(movie2.get('release_time','2020-01-01'))print(movie2.get('score',1))

​ 遍历字典
​ 方法一:(推荐使用)
​ for 变量 in 字典: # 变量取到的是key
​ 循环体(变量在循环体中得到的是字典的key)

for x in movie2: print(x,':',movie2[x])

​ 方法二:
​ for key,value in 字典.items()
​ 循环体(循环体中变量1取到的所有的键,变量2取到的是所有键对应的值)

print('=========================================')for x,y in movie2.items(): print(x,':',y) 2) 增/改 - 添加键值对/修改键值对的值

​ a. 字典【key】 = 值 - 当key不存在就是添加键值对;当key存在的时候就是修改key的值。

subject = { 'name':'python', 'score':3, 'class_hour':20, 'direction':['数据分析','web后端','爬虫','自动测试','自动化运维']}subject['teacher'] = 'brdyx'print(subject) 3) 删

​ del 字典【key】 - 删除字典指定key对应的键值对
​ 字典.pop(key) - 取出字典中指定key对应的值

del subject['class_hour']print(subject)del_item = subject.pop('direction')print(subject)print(del_item) 2.3 字典的应用

​ 练习:
​ 1) 定义一个变量同时保存多条狗的信息,每条狗有:名字、年龄、性别、品种、价格和颜色。
​ 2) 统计5条狗中公的有多少条
​ 3) 打印所有价格超过2000元狗的名字

num = 0dogs = [{'name':'二哈','age':5,'sex':'公','variety':'哈士奇','value':3000,'color':'黑白'}, {'name':'杜甫','age':3,'sex':'母','variety':'金毛','value':1000,'color':'金色'}, {'name':'四女','age':6,'sex':'公','variety':'泰迪','value':5000,'color':'黄色'}, {'name':'大沙','age':2,'sex':'母','variety':'拉布拉多','value':1500,'color':'白色'}, {'name':'窗口','age':7,'sex':'母','variety':'柯基','value':3500,'color':'黑色'}, ]print('价格超过2000的狗有:',end = '')for dog in dogs: if dog['sex'] == '公': num += 1 if dog['value'] > 2000: print(dog['name'],end = ',')print()print('公狗的数量为:',num)# 定义一个变量保存一个班级信息:c = { 'class_name':'python2003', 'class_position':'23教室', 'lecturer':{ 'name':'brdyx', 'sex':'女', 'age':'18', 'QQ':'726550822' }, 'class_teacher':{ 'name':'着急的电灯胆', 'sex':'女', 'age':20, 'QQ':'782921821' }, 'students':[ {'name':'jqdxs','age':18,'sex':'男','tel':'15735186067'}, {'name':'赵云','age':18,'sex':'男','tel':'13564656985'}, ]}# 获取讲师的QQprint(c['lecturer']['QQ'])print(c['students'][1]['tel']) 2.4 相关操作 ###### 1) 字典不支持加法、乘法和比较大小的运算

​ 判断是否相等

print({'a':10,'b':20} == {'b':20,'a':10}) ###### 2) is - 判断数据的地址是否相等 a = {'a':10}b = {'a':10}print(id(a),id(b))print(a == b)print(a is b) 3) in 和 not in

​ key in 字典 - 判断字典中是否有指定的key

dict1 = {'a':10,'b':20,'c':30}print(10 in dict1)print('b' in dict1) 4) 相关的函数:len、dict

​ len(字典) - 获取字典中键值对的个数

print(len(dict1))

​ dict(数据) - 将其他的数据转换成字典(数据的要求:1.序列,2.序列中的元素还是序列,3.内部的序列有且只有两个元素,第一个元素不可变)

list1 = ['ab',(10,20),['name','lldlb']]print(dict(list1)) 5) 把字典转换成其他数据 stu = {'name':'文静的香烟','age':18,'score':100}

​ a. 将字典转换成列表/元组 - 将字典的key作为列表/元组的元素

print(list(stu))print(tuple(stu))

​ b. 将字典转换成字符串

print(str(stu))

​ c. 将字典转换成布尔

print(bool({}))print(bool(stu)) 6) 相关的方法 stu = {'name':'文静的香烟','age':18,'score':100}

​ a. 字典.clear()
​ b. 字典.copy() # 可以赋一个新的地址。
​ c. dict.fromkeys(序列,默认值 = none) - 创建一个新的字典,序列中所有的元素会作为新字典的key,默认值是所有key对应的值。

new_dict = dict.fromkeys('abc')print(new_dict)

​ d. 字典.items()、字典.keys()、字典.values()

print(stu.items())print(stu.keys())print(stu.values())

​ e. 字典.setdefault(key,value) - 在字典中添加键值对(单纯的添加,不会修改)

stu.setdefault('weight',70)print(stu)

​ f. 字典1.update(字典2) - 将字典2当中所有的键值对全部添加到字典1中。

stu.update({'a':10,'b':20})print(stu)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。