美文网首页
Python的一些操作技巧

Python的一些操作技巧

作者: 灰灰菜lll | 来源:发表于2019-01-08 17:20 被阅读0次

    1、查找列表中频率最高的值

    from collections import Counter

    a = [1,2,3,1,2,3,1,2,2,2,4,5,7]

    print(max(set(a), key=a.count))

    cnt = Counter(a)
    print(cnt.most_common(4)) #计算每个元素出现频率 4代表前面四个元素

    2、检查两个字符串是不是由相同的字母不同顺序组成

    str1 = 'li chao'
    str2 = 'chao li'
    print(Counter(str1) == Counter(str2))

    3、反转字符串

    for char in reversed(str1):
    print(char)

    b = 12345678
    print(int(str(b)[::-1]))

    4、转置二维数组

    original = [['a', 'b'],['c', 'd'], ['e', 'f']]
    transposed = zip(*original)
    print(list(transposed))

    5、链式函数调用

    def product(a, b):
    return a * b

    def add(a, b):
    return a + b
    b = False
    print((product if b else add)(5,7))

    5、通过键对字典元素排序

    m = {'apple': 10, 'orange': 20, 'banana': 5, 'rotten tomato': 1}
    print(sorted(m.items(), key=lambda x: x[1]))
    from operator import itemgetter
    print(sorted(m.items(), key=itemgetter(0)))

    print(sorted(m, key=m.get))

    6、转换列表为逗号分隔符格式

    也就是列表类型转换为字符串

    list = ['foo', 'bar', 'xyz']
    print(','.join(list))

    numbers = [2, 4, 5, 10]
    print(','.join(map(str,numbers)))

    data = [2, 'hello', 3, 3.4]
    print(','.join(map(str, data)))

    7、合并字典

    d1 = {'a': 1}
    d2 = {'b': 2}
    print({**d1, **d2})
    print(dict(d1.items() | d2.items()))
    d1.update(d2)
    print(d1)

    8、列表中最大和最小值索引

    list1 = [40, 10, 20,30]

    def minIndex(list1):
    return min(range(len(list1)), key=list1.getitem)

    def maxIndex(list1):
    return max(range(len(list1)), key=list1.getitem)
    print(minIndex(list1))
    print(maxIndex(list1))

    9、移除列表中重复的元素

    list2 = [2,2,3,3,1]
    newlist2 = list(set(list2))
    print(newlist2)

    from collections import OrderedDict

    list3 = ['foo', 'bar', 'bar', 'foo']
    print(list(OrderedDict.fromkeys(list3).keys()))

    相关文章

      网友评论

          本文标题:Python的一些操作技巧

          本文链接:https://www.haomeiwen.com/subject/qmsbrqtx.html