Python3.28

元组与列表的区别:

列表是可变的,元组是不可变的。列表的可变指的是列表可以添加元组,可以删除元素,元组的不可变是指的是元组不可以添加新的元素,也不可以删除已有元素。

tuple1=[1,3,4,5,5]
# count表示元组中这个元素的个数
print(tuple1.count(5))
# index表示元组中这个元素的索引
print(tuple1.index(5))
结果如下:

 

 

tuple2=(1,2,'a',2,['Go','Python'],(4,5,6))
# 通过索引获取具体的元素 元组里面可以有列表 ,列表里面也可以有元组
print(tuple2[4][0])
结果如下

# 注意:当列表里面只有一个元素时,一定要加逗号不然就变成字符串格式了

tuple2=(1,2,'a',2,['Go','Python'],(4,5,6))tuple3=('go')
print(type(tuple3))
tuple4=('go',)
print(type(tuple4))
结果如下:
tuple2=(1,2,'a',2,['Go','Python'],(4,5,6))
for index, item in enumerate(tuple2):
# item 获取到对象的索引
if index==4 and item[0]=='Go':
print('学习Go语言')

字典的特性:

1、字典是无序的

2、字典是key-value的形式来存储的

字典的关键字dict

dict1={'name':'wuya','age':'18','city':'xian'}
# 获取key
for item in dict1.keys():
print(item)

 

 

#获取所有的values
for item in dict1.values():
print(item)

# 同时获取keys和values 并且用冒号隔开
for keys,values in dict1.items():
print(keys,':',values)

# 获取某个具体元素的values的2种方式  建议一般使用第二种
dict1={'name':'wuya','age':'18','city':'xian'}
print(dict1.get('age'))
print(dict1['age'])

# 2个字典的合并 update   把字典dict2放在字典dict1中
dict1={'name':'wuya','age':'18','city':'xian'}
dict2={'language':'Go'}
dict1.update(dict2)
print(dict1)

排序规则:

1、如果是数字,默认从小大到大

2、如果是字符串,内部处理的思路是把字符串转为数字,然后和1的规则一样

3、如果是多个字符串,比如aa,ab,那么这个时候它的规则是:

A、aa和ab先比较第一个字符串,发现第一个相同,就比较第二个

B、比较第二个,比如是字符串转为数字,规则与1相同

4、内部函数:把字符串转为数字,使用的内部函数是ord()

排序比价必须是相同的数据类型

字典排序使用到的内部函数是sorted()

dict1={'name':'wuya','age':'18','city':'xian'}
# 以key作为排序
print (dict(sorted(dict1.items(),key=lambda item:item[0] )))
# 以value作为排序
print(dict(sorted(dict1.items(),key=lambda item:[1])))

 

 

 以上代码的理解:

1、dict1.items()实现了把字典循环输出key和value

2、把循环输出的key和value分别放到一个新的列表中,第一位是key,第二位是value

根据key参数后的lambde后的item[0]来进行排序了。也就是说按照Key来进行排序

dict1={"status":0,"msg":"ok","datas":
[
{"company":"华为","职位":"测试开发工程师"},
{"company":"腾讯云","职位":"Go开发工程师"},
{"company":"易点天下","职位":"Java开发工程师"}
]}
# 输出易点天下
print(dict1['datas'][2]["company"])
# 输出Go开发工程师
print(dict1['datas'][1]['职位'])

 

 

# 取出所有的company 并且添加到新的列表中
dict1={"status":0,"msg":"ok","datas":
[
{"company":"华为","职位":"测试开发工程师"},
{"company":"腾讯云","职位":"Go开发工程师"},
{"company":"易点天下","职位":"Java开发工程师"}
]}
list2=[]
for item in dict1['datas']:
# print(item)
list2.append(item['company'])
print(list2)

from collections import OrderedDict
dict1=OrderedDict()
dict1['name']='wuya'
dict1['sex']='男'
dict1['school']='一般学校'
# print(dict1)
print(dict(dict1))

 

 

数据类型转换:

list1=[1,2,3,4]
# 列表转为元组
list_tuple=tuple(list1)
print(list_tuple)
# print(type(list_tuple))
# 元组转为列表
tuple_list=list(list_tuple)
print(tuple_list)

# 整型转为字符串
int1=18
print(str(int1))
# 字符串转为整型
str4='18'
print(int(str4))

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

 

posted @ 2022-03-28 17:58  净植  阅读(42)  评论(0)    收藏  举报