python 小技巧

1.获取列表中出现频率最多的值

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

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


from collections import Counter

cnt = Counter(a)
print cnt.most_common(1)
# (3,5)

2. 判断翻转字符串是否相等

str1 = '12345'
str2 = '54321'

from collections import Counter

print (Counter(str1) == Counter(str2))
# True

3. 翻转字符串或数字、列表

a = 'abcdefghigklmnopqrstuvwxyz'
print (a[::-1])
# zyxwvutsrqponmlkgihgfedcba

print ''.join(list(reversed(a)))
# zyxwvutsrqponmlkgihgfedcba

num =123456789
print (int(str(num)[::-1]))
# 987654321

a=[1,2,3,4,5]
print(a[::-1])
# [5,4,3,2,1]

4. 字典排序

d = {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
print (sorted(d.items(), key=lambda x: x[1]))
#[(u'a', u'1'), (u'b', u'2'), (u'c', u'3'), (u'd', u'4')]

from operator import itemgetter
print (sorted(d.items(), key=itemgetter(1)))
# [(u'a', u'1'), (u'b', u'2'), (u'c', u'3'), (u'd', u'4')]

print (sorted(d, key=d.get))
# [u'a', u'b', u'c', u'd']

5. 获取列表中最大值/最小值的索引值

li = [100, 200, 500, 30, 800, 10]


def minIndex(li):
    return min(range(len(li)), key=li.__getitem__)


def maxIndex(li):
    return max(range(len(li)), key=li.__getitem__)

print minIndex(li)
# 5

print maxIndex(li)
# 4

 

http://www.chenxm.cc/post/656.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值