数据的转换与合集


  • 字典的排序(默认是从小到大的排序)

dict1={"id":"1","name":"tang","city":"xian"}
dict2={"1":"2","3":"4","5":"6","7":"8","9":"0"}
  1. 针对字典的key值排序
    print(sorted(dict1.keys()))
    print(sorted(dict2.keys()))

     输出结果:

    ['city', 'id', 'name']
    ['1', '3', '5', '7', '9'
  2. 针对字典的value值排序
    print(sorted(dict1.values()))
    print(sorted(dict2.values()))

     输出结果:

    ['1', 'tang', 'xian']
    ['0', '2', '4', '6', '8']
  3. 以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')]
  4. 以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']
  • 集合

  1. 特点:集合是一个无序不重复元素的集。基本功能包括关系测试消除重复元素
  2. 定义集合:
    a=set()
    print(type(a))

     输出:

    <class 'set'>
  3. 消除重复元素
    list1=["C","Python","Java","C","Java"]   
    set1=set(list1)     #把列表list1转化为集合set1
    print(set1)   #输出集合set1

     输出之后我们会发现把重复的对象("Java","C")去除了

    {'Java', 'Python', 'C'}
  4. 关系测试
    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'}
  • 函数

  1. Python中使用def关键字来声明函数
  2. 函数的定义规则
    def 函数名称(形式参数):
        函数的表达式
  3. 表达式
    def add(a,b):
        print(a+b)
    
    add(23,10)