数据的转换与合集
-
字典的排序(默认是从小到大的排序)
dict1={"id":"1","name":"tang","city":"xian"} dict2={"1":"2","3":"4","5":"6","7":"8","9":"0"}
- 针对字典的key值排序
print(sorted(dict1.keys())) print(sorted(dict2.keys()))
输出结果:
['city', 'id', 'name'] ['1', '3', '5', '7', '9']
- 针对字典的value值排序
print(sorted(dict1.values())) print(sorted(dict2.values()))
输出结果:
['1', 'tang', 'xian'] ['0', '2', '4', '6', '8']
- 以key的值排序并输出所有的key跟value值
print(sorted( #排序 dict1.items(), #把dict1的key跟value值循环输出 key=lambda #key是关键词,lambda是一个隐函数,是固定写法 x:x[0] #x表示列表中的一个元素,在这里,表示一个元组,x只是临时起的一个名字,你可以使用任意的名字;x[0]表示元组里的第一个元素,也就是key的值 )) print(sorted(dict2.items(),key=lambda x:x[0]))
输出:
[('city', 'xian'), ('id', '1'), ('name', 'tang')] [('1', '2'), ('3', '4'), ('5', '6'), ('7', '8'), ('9', '0')]
- 以value的值排序并输出所有的key跟value值
print(sorted(dict1.items(),key=lambda x:x[1])) print(sorted(dict2.items(),key=lambda x:x[1]))
输出:
[('id', '1'), ('name', 'tang'), ('city', 'xian')] [('9', '0'), ('1', '2'), ('3', '4'), ('5', '6'), ('7', '8')]
-
数据类型转换
1.列表与字符串的转换
str1="hello world" list1=["C","Python","Java"]
①列表转为字符串
print(str1.split(" "))
输出:
['hello', 'world']
②字符串转为列表
print(",".join(list1))
输出:
C,Python,Java
2.列表与字典之间的转换
list1=["C","Python","Java"] dict1={"name":"tang","age":"twenty-one","city":"xian"}
①列表转换为字典
dict2=dict( enumerate(list1)) #获取列表list1的索引 print(dict2)
输出:
{0: 'C', 1: 'Python', 2: 'Java'}
②字典转换为列表
list2=list(dict1.items())
输出:
[('name', 'tang'), ('age', 'twenty-one'), ('city', 'xian')]
3.列表与元组之间的转换
list1=["C","Python","Java"] tuple1=("name","tang","age","twenty-one","city","xian")
①列表转换为元组
tuple2=tuple(list1) print(tuple2)
输出:
('C', 'Python', 'Java')
②元组转换为列表
list2=list(tuple1) print(list2)
输出:
['name', 'tang', 'age', 'twenty-one', 'city', 'xian']
4.字典与元组之间的转换
dict1={"id":"1","name":"tang","city":"xian"} tuple1=("hello","python")
①字典转换为元组
tuple2=tuple(dict1.items()) print(tuple2)
输出:
(('id', '1'), ('name', 'tang'), ('city', 'xian'))
②元组转为列表
dict2=dict( enumerate( #获取列表的索引 list(tuple1) #把元组转换为列表 )) print(dict2)
输出:
{0: 'hello', 1: 'python'}
-
分解N个信息
list1=[90,"name","age","salary","city"]
现在有一个列表list1,我们现在像取出对象90和除90以外的数据,执行
int,*str=list1 #int和str为变量名,可以随便写,*表示分割点 print(int) print(str)
输出:
90 ['name', 'age', 'salary', 'city']
-
集合
- 特点:集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素
- 定义集合:
a=set() print(type(a))
输出:
<class 'set'>
- 消除重复元素
list1=["C","Python","Java","C","Java"] set1=set(list1) #把列表list1转化为集合set1 print(set1) #输出集合set1
输出之后我们会发现把重复的对象("Java","C")去除了
{'Java', 'Python', 'C'}
- 关系测试
str1="python" str2="thong"
4.1 a = t | s # t 和 s的并集
print(set(str1)|set(str2))
输出:
{'y', 'p', 'n', 'o', 't', 'g', 'h'}
4.2 b = t & s # t 和 s的交集
print(set(str1)&set(str2))
输出:
{'h', 't', 'n', 'o'}
4.3 c = t – s # 求差集(项在t中,但不在s中)
print(set(str1)-set(str2))
输出:
{'p', 'y'}
4.4 d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
print(set(str1)^set(str2))
输出:
{'g', 'y', 'p'}
-
函数
- Python中使用def关键字来声明函数
- 函数的定义规则
def 函数名称(形式参数): 函数的表达式
- 表达式
def add(a,b): print(a+b) add(23,10)