Python(4)
元组
元组与列表的区别
列表是可变的,元组是不可变的。列表的可变指的是列表可以添加元素,可以删除元素,元组的不可变指的是元组不可以增加新的元素,也不可以删除已有的元素。
tuple=(2,5,9,'r','p',['pytjon','go'],(4,5,6))
'''
'count','index'
元组里面的元素开以是字符串,也可以是数字,也可以是元组自己,也可以是列表。
'''
代码
print(tuple.count(5))
print(tuple.index('r'))
结果
# 获取元组里面的元素
代码
print(tuple[5][1])
print(tuple[6][2])
结果
# 当元组里面只有一个元素的时候,一定得加逗号
tuple1=('python',)
print(type(tuple1))
print(str(tuple1))
# enumerate获取到对象的索引同时获取到元素的信息
for index,item in enumerate(tuple):
if index==5 and item[1]=='go':
print('学习go语言')
字典
'''
字典特性
1、字典是无序的
2、字典是key-value的形式来储存的
字典的关键字是dict
for example:
dict1={'name':'duanshuyuan','age':18,'city':'xian'}
排序规则:
1、如果是数字,默认是从小到大
2、如果是字符串,内部处理的思路是把字符串转为数字,然后和1的规则一样
3、如果是多个字符串,比如aa,ab,那么这个时候它的规则是:
A、aa和ab先比较第一个字符串,发现第一个相同,就比较第二个
B、比较第二个,比如是字符串转为数字,规则与1相同
4、把字符串转化为数字,使用的内部函数是ord()
字典排序使用的内部函数是sorted()
5、排序比较必须是相同的数据类型
'''
dict1 = {'name': 'duanshuyuan', 'age': 18, 'city': 'xian'}
print(dict1)
# 获取所有的key
for item in dict1.keys():
print(item)
# 获取所有的value
for item in dict1.values():
print(item)
# 对字典进行循环
for key,value in dict1.items():
print(key,':',value)
# 获取value的值
print(dict1.get('age'))
print(dict1['age'])
print(dict1.get('name'))
print(dict1['name'])
#两个字典合并update() list里面的extend()
dict2={'language':'go'}
dict1.update(dict2)
print(dict1)
dict1 = {'name': 'duanshuyuan', 'age': '18', 'city': 'xian'}
# 以key作为排序
print(dict(sorted(dict1.items(),key=lambda item:item[0])))
# 以value作为排序
print(dict(sorted(dict1.items(),key=lambda item:item[1])))
1、dict1.items()实现了把字典循环输出key和value
2、把循环出的key和value分别放到一个新的列表中,第一位是key,第二位是value
3、根据key参数后的lambda后的item[0]来进行排序,也就是说按照key来进行排序
dict1={"name":"wuya","age":'18',"city":"xian","salary":'1009',"work":"testDev"}
# 以key作为排序
print(dict(sorted(dict1.items(),key=lambda item:item[0])))
# 以value作为排序
print(dict(sorted(dict1.items(),key=lambda item:item[1])))
#
dict1={"status":0,"msg":"ok","datas":
[
{"company":"华为","职位":"测试开发工程师"},
{"company":"腾讯云","职位":"Go开发工程师"},
{"company":"易点天下","职位":"Java开发工程师"}
]}
# print(dict1['datas'][1]['职位'],dict1['datas'][2]['company'])
# 获取到所有的公司,放在一个新的列表里面
list1=[]
list2=[]
for item in dict1['datas']:
list1.append((item['company']))
list2.append((item['职位']))
print(list1)
print(list2)
'''
实现字典的有序
'''
# 从collections中导入OrderedDict类
from collections import OrderedDict
dict1=OrderedDict()
dict1['name']='duanshuyuan'
dict1['sex']='男'
dict1['school']='北大'
print(dict(dict1))

字符串与列表的转换
str1='go,java,python'
# 字符串转列表
str_list=str1.split(',')
print(str_list)
# 列表转字符串
list_str=','.join(str_list)
print(list_str)

列表与元组的转换
list1=[1,2,3]
# 列表转为元组
list_tuple=tuple(list1)
print(list_tuple)
# 元组转为列表
tuple_list=list(list1)
print(tuple_list)
整型与字符串之间的转换
int1=18
print(type(int1))
int2=str(int1)
print(int2)
print(type(int2))
str1='18'
str2=int(str1)
print(str2)
print(type(str2))

# 取最大值与最小值
list3=[99,0,9,100,34,6,23,49,8]
list3.sort()
print(list3)
print(list3[0])
print(list3[-1])

列表转字典
'''
list4=['a','b','c']
list_dict=dict(enumerate(list4))
print(list_dict)
print(type(list_dict))
# 字典转列表
dict_list=list(list_dict.items())
print(dict_list)
print(type(dict_list))

data={"code":0,"message":"Success","zpData":[{"name":"全国","code":100010000,"url":"/?city=100010000"},{"name":"北京","code":101010100,"url":"/beijing/"},{"name":"上海","code":101020100,"url":"/shanghai/"},{"name":"广州","code":101280100,"url":"/guangzhou/"},{"name":"深圳","code":101280600,"url":"/shenzhen/"},{"name":"杭州","code":101210100,"url":"/hangzhou/"},{"name":"天津","code":101030100,"url":"/tianjin/"},{"name":"西安","code":101110100,"url":"/xian/"},{"name":"苏州","code":101190400,"url":"/suzhou/"},{"name":"武汉","code":101200100,"url":"/wuhan/"},{"name":"厦门","code":101230200,"url":"/xiamen/"},{"name":"长沙","code":101250100,"url":"/changsha/"},{"name":"成都","code":101270100,"url":"/chengdu/"},{"name":"郑州","code":101180100,"url":"/zhengzhou/"},{"name":"重庆","code":101040100,"url":"/chongqing/"},{"name":"佛山","code":101280800,"url":"/foshan/"},{"name":"合肥","code":101220100,"url":"/hefei/"},{"name":"济南","code":101120100,"url":"/jinan/"},{"name":"青岛","code":101120200,"url":"/qingdao/"},{"name":"南京","code":101190100,"url":"/nanjing/"},{"name":"东莞","code":101281600,"url":"/dongguan/"},{"name":"昆明","code":101290100,"url":"/kunming/"},{"name":"南昌","code":101240100,"url":"/nanchang/"},{"name":"石家庄","code":101090100,"url":"/shijiazhuang/"},{"name":"宁波","code":101210400,"url":"/ningbo/"},{"name":"福州","code":101230100,"url":"/fuzhou/"}]}
list5=[]
for item in data['zpData']:
print(item)
list5.append(item['name'])
print(list5)
list5.remove('全国')
print(list5)

str5=[]
for item in data['zpData']:
if item['name']!='全国':
str5.append(item['url'].replace('/',''))
print(str5)
