1.现有字典 d= {‘a’:24,’g’:52,’i’:12,’k’:33}请按value值进行排序?

    1. sorted(d.items(), key=lambda x:x[1])
    2. # d.items():以列表的形式返回可遍历的元组数据
    3. # x[0]代表用key进行排序;x[1]代表用value进行排序。

    1.sorted函数,sorted(iterable,key,reverse), sorted一共有iterable,key,reverse这三个参数。
    其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。
    2.按key值排序的话直接用sorted(d.keys()), 倒序:sorted(d.keys(), reverse=true)
    sorted函数按value值对字典排序,需要用到key参数,lambda x:x[1]意思是选取元组中的第二个元素作为比较对象,若想选第一个则是lambda x:x[0],可知第一个是key,第二个是value;lambda x:y中x表示输出参数,y表示lambda函数的返回值

    2.字典推导式
    d = {key: value for (key, value) in iterable}
    iterable为可迭代可遍历的对象
    例如:生成一个包含4个随机数的字典

    1. import random
    2. randomdict = {i:random.randint(10, 100) for i in range(1, 5)}
    3. print(randomdict)

    3.反转字符串 “aStr”

    1. print("aStr"[::-1])

    4.将字符串 “k:1 |k1:2|k2:3|k3:4”,处理成字典 {k:1,k1:2,…}

    1. str1 = "k:1|k1:2|k2:3|k3:4"
    2. def str2dict(str1):
    3. dict1 = {}
    4. for iterms in str1.split('|'):
    5. key,value = iterms.split(':')
    6. dict1[key] = value
    7. return dict1
    8. #字典推导式
    9. d = {k:int(v) for t in str1.split("|") for k, v in (t.split(":"), )}
    10. ['k:1', 'k1:2']
    11. 'k:1'
    12. ['k',1]

    1.str1.split(‘|’)为[‘k:1’, ‘k1:2’, ‘k2:3’, ‘k3:4’],for iterms in str1.split(‘|’)遍历该列表
    key,value = iterms.split(‘:’) 解偶,iterms.split(‘:’) 为[k,1],[k1,2],key对应k,k1,k2,k3
    value对应1,2,3,4;dict1[key] = value往空字典里添加键值对,{k:1,k1:2,…}

    5. 请按alist中元素的age由大到小排序

    1. alist = [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}]
    2. def sort_by_age(list1):
    3. return sorted(alist, key=lambda x:x['age'], reverse=True)

    传入一个可迭代对象,alist,由于是按照value排序,所以要传key参数,key=lambda x:x[‘age’],landba表达式返回age的值,reverse=True按照倒序排序

    6.下面代码的输出结果将是什么?

    1. list = ['a','b','c','d','e']
    2. print(list[10:])

    代码将输出一个空列表[],不会产生indexError错误

    7.写一个列表生成式,产生一个公差为11的等差数列

    1. print([x*11 for i in range(10)])

    8.给定两个列表,怎么找出他们相同的元素和不同的元素?

    1. list1 = [1,2,3]
    2. list2 = [3,4,5]
    3. set1 = set(list1)
    4. set2 = set(list2)
    5. print(set1 & set2)
    6. print(set1 ^ set2)

    1.通过set()函数去重并且将list变成set集合,通过按位与运算符&得出两个集合相同的元素,通过按位异或运算的运算符^得出不同的元素

    9.请写出一段python代码实现删除list里面的重复元素?

    1. list1 = [1, 2, 2, 3, 4, 4, 7, 8, 9]
    2. list2 = list(set(list1))
    3. print(list2)

    1.利用set()函数把去重,然后组成新的列表

    1. l1 = ['b','c','d','c','a','a']
    2. l2 = list(set(l1))
    3. l2.sort(key=l1.index)
    4. print(l2)
    1. l1 = ['b','c','d','c','a','a']
    2. l2 = [] for i in l1:
    3. if i not in l2:
    4. l2.append(i)
    5. print(l2)

    19. 给定两个list A,B ,请找出A,B中相同与不同的元素

    1. print(set(A) & set(B))
    2. print(set(A) ^ set(B))