参考链接:https://zhuanlan.zhihu.com/p/83998758?utm_source=qq&utm_medium=social&utm_oi=728200852833075200

1.判断是否存在重复元素

def all_unique(a):
return len(a)==len(set(a))
print(all_unique([1,1,2,3]))
输出:False

2.检查两个字符串的组成是否一样,即元素的种类和数目是否一致

def anagram(a,b):
return Counter(a)==Counter(b)
print(anagram("3abcda","acdba3"))
输出:True

3.内存占用

#32位系统
import sys
variable = 38
print(sys.getsizeof(1))
print(sys.maxsize)
输出:14
2147483647

4.字节占用

def byte_size(string):
return len(string.encode("utf-8"))
print(byte_size("hello world"))
输出:11

5.打印N次字符串

print(“a”*3)

输出:aaa

6.大写第一个字母

print("abc".title())

输出:Abc

7.分块

from math import ceil
def chunk(alist,size):
return list(map(lambda x:alist[x*size:x*size+size],
list(range(0,ceil(len(alist)/size)))))
print(chunk([1,2,3,4,5],2))
输出:[[1,2],[3,4],[5]]

8.压缩

使用python filter函数,其一般形式为filter(func,iterable)

例子1:
def is_odd(a):
return a%2==1
print(list(filter(is_odd,[1,2,3,4,5,6,7,8])))
输出:[1,3,5,7]
例子2:
print(list(filter(bool,[False,None,"",0,3,"a"])))
输出:[3,"a"]

9.解包

a=[['a','b'],['c','d'],['e','f']]
print(*a)
输出:
['a','b'] ['c','d'] ['e','f']
for i in zip(*a):
print(i)
输出:
('a','c','e')
('b','d','f')

10.链式对比

a=3
print(2<a<4)
输出:True
print(2==a<4)
输出:False

11.列表转字符串(用逗号相隔)

print(",".join(['a','b','c']))
输出:a,b,c

12.元音统计(正则表达式的一种应用)

import re
print(re.findall("[aeiou]","foobar"))
输出:3

13.展开列表

a=[1,[2],[[3],4],5]
def spread(a):
res=[]
for i in a:
if isinstance(i,list):
res.extend(i)
else:
res.append(i)
return res
def deep_flatten(b):
result=[]
result.extend(spread((list(map(lambda x:deep_flatten(x) if type(x)==list else x,b)))))
return result
print(deep_flatten(a))
输出:[1,2,3,4,5]

14.列表的差(返回第一个列表的元素,不再第二个列表中的)

def diff(a,b):
set_a=set(a)
set_b=set(b)
comparison=set_a.difference(set_b)
return list(comparison)
print(diff([1,2,3],[1,2,4]))
输出:[3]

15.通过函数取差(如下方法会先应用一个给定的函数,然后再返回应用函数后结果有差别的列表的元素)

import math
def difference_by(a,b,fn):
b=set(map(math.floor,b))
return [item for item in a if math.floor(item) not in b]
print(difference_by([1.2,2.1],[2.3,3.4],math.floor))
输出:[1.2]

16.函数的链式调用(可以再一行代码内调用多个函数)

def add(a,b):
return a+b
def substract(a,b):
return a-b
a,b=4,5
print((substract if a>b else add)(a,b))
输出:9

17.判断列表是否有重复值

print(len([1,2,2,3]==len(set([1,2,2,3])))
输出:False

18.合并两个字典

def merge_two_dicts(a,b):
c=a.copy()
c.update(b)
return c
print(merge_two_dicts({1:2},{3:4}))
输出:{1:2,3:4}
再pyhton3.5及以上,直接print({**{1:2},**{3:4}})

19.把两个列表转换成字典

def to_dictionary(a,b):
return dict(zip(a,b))
print(to_dictionary(["a","b"],[1,2]))
输出:{"a":1,"b":2}

20.使用枚举(能够同时取到index和value)

a=["a","b"]
for index,val in enumerate(a):
print(index,val)
输出:
0 a
1 b

21.执行时间(计算执行特定代码所用的时间)

import time
start_time=time.time()
for i in range(10000):
print(i)
end_time=time.time()
total_time=end_time-start_time
print(round(total_time,2))
输出:0.17

22.Try else(可以多加一个else,如果没有触发错误,这个子句就会被执行)

try:
2*3
except TypeError:
print("An exception")
else:
print("successful")
输出:successful

23.元素频率(统计出现次数最多的元素)

def most_frequent(a):
return max(set(a),key=a.count)
print(most_frequent([1,2,2,2,3,3]))
输出:2

24.回文序列(会先将所有字母转换成小写字母,并且移除非英文字母符号)

def palindrome(string):
from re import sub
s=sub("[\W_]","",string.lower())
return s==s[::-1]
print(palindrome("taco cat"))
输出:True

25.不使用if else计算子

import operator
action={
"+":operator.add,
"-":operator.sub,
"*":operator.mul,
"/":operator.truediv,
"**":pow,
}
print(action["-"](50,25))
输出:25

26.Shuffle(打乱列表排序的顺序)

from copy import deepcopy
from random import randint
def shuffle(a):
tmp_list=deepcopy(a)
n=len(tmp_list)
while n:
n-=1
i=randint(0,n)
tmp_list[n],tmp_list[i]=tmp_list[i],tmp_list[n]
return tmp_list
print(shuffle([1,2,3]))
输出:[2,3,1](每次结果都不一样)

python小例子(一)的更多相关文章

  1. 这42个Python小例子,太走心

    告别枯燥,60秒学会一个Python小例子.奔着此出发点,我在过去1个月,将平时经常使用的代码段换为小例子,分享出来后受到大家的喜欢. 一.基本操作 1 链式比较 i = 3print(1 <  ...

  2. python小例子(三)

    1.提高Python运行速度的方法 (1)使用生成器,节约大量内存: (2)循环代码优化,避免过多重复代码的执行: (3)核心模块使用cpython,pypy等: (4)多进程,多线程,协程: (5) ...

  3. python小例子(二)

    1.在函数里面修改全局变量的值 2.合并两个字典.删除字典中的值 3.python2和python3 range(1000)的区别 python2返回列表,python3返回迭代器 4.什么样的语言可 ...

  4. Python小例子(判断质数)

    只能被自己或者1整除的数为质数 num = int(input('请输入一个数:')) if num > 1: # 查看因子 for i in range(2, num): if (num % ...

  5. Python小例子(求和)

    简单的数字的求和: a = input('请输入第一个数:') b = input('请输入第二个数:') sum = float(a) + float(b) print('数字{0}和数字{1}相加 ...

  6. Python小例子

    import urllib.request as request import urllib.parse as parse import string print(""" ...

  7. [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子

    [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子$ cat customers.txt 1 Ali us 2 Bsb ca 3 Carls mx $ hive h ...

  8. [Python]Python 使用 for 循环的小例子

    [Python]Python 使用 for 循环的小例子: In [7]: for i in range(5): ...: print "xxxx" ...: print &quo ...

  9. [python]python 遍历一个list 的小例子:

    [python]python 遍历一个list 的小例子: mlist=["aaa","bbb","ccc"]for ss in enume ...

随机推荐

  1. Exceptionless 5.0.0 本地Docker快速部署介绍

    在之前我有专门写两篇文章介绍过Exceptionless这款开源日志项目的使用和部署,但是当时是基于4.1.0版本(2017年的release),时隔两年多Exceptionless也推出了5.0.0 ...

  2. 并发编程之多线程(Java)

    一.线程与进程区别 每个正在系统上运行的程序都是一个进程.每个进程包含一到多个线程.线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行.也可以把它理解为代码运行的上下文.所以线程基本上是 ...

  3. uC/OS-III 时钟节拍(一)

    时钟节拍就是操作系统的时基,操作系统要实现时间上的管理,必须依赖于时基(时基即时间基准,操作系统的基准时钟). uC/OS-III时钟节拍的实现过程 时钟节拍就是系统以固定的频率产生中断(时基中断), ...

  4. 【产品】PM常用的流程图

    一.流程图分类 UML有很多种,大体可以分类两类:行为型的图和结构型的图.平时工作中的流程图,只要能把事情清晰的表明,用何种流程图表现形式,其实都无所谓. 但是,作为一名产品经理,共有哪些种类的流程图 ...

  5. SpringBoot-ElasticJob封装快速上手使用(分布式定时器)

    elastic-job-spring-boot qq交流群:812321371 1 简介 Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Ela ...

  6. Elasticsearch 7.x 之文档、索引和 REST API 【基础入门篇】

    前几天写过一篇<Elasticsearch 7.x 最详细安装及配置>,今天继续最新版基础入门内容.这一篇简单总结了 Elasticsearch 7.x 之文档.索引和 REST API. ...

  7. 06-01 DeepLearning-图像识别

    目录 深度学习-图像识别 一.人脸定位 二.手工提取特征的图像分类 2.1 识图认物 2.2 传统分类系统的特征提取 2.3 计算机眼中的图像 2.4 什么是图像特征? 2.5 卷积运算 2.6 利用 ...

  8. 重构网页过程中的小tips

    1.display为inline-block的元素可以使用virtical-align:middle来使得元素垂直居中对齐 2.在一些按钮标签或者mark标签中,如果文本内容确定不会改变长度的话,可以 ...

  9. python程序调用C/C++代码

    这篇用来记录在些模拟Canoe生成CAN数据桢工具时遇到的问题, 生成CAN数据桢,主要分为两个关注点: 1.如何从can信号名获取到can信号的ID长度以及信号的起始位,并将信号值按照一定的规则填写 ...

  10. 采用WPF开发截图程序,so easy!

    前言  QQ.微信截图功能已很强大了,似乎没必要在开发一个截图程序了.但是有时QQ热键就是被占用,不能快速的开启截屏:有时,天天挂着QQ,领导也不乐意.既然是程序员,就要自己开发截屏工具,功能随心所欲 ...