参考链接: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. selenium-05-常见问题

    一:日期控件 selenium不能直接对日期控件操作,可以通过js对日期控件做赋值操作 WebElement inputTimeBox=driver.findElement(by.name(" ...

  2. 【django】form

    form 组件组要功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 1.创建Form类时,主要涉及到 [字段] 和 [插件],字段用于 ...

  3. Java 8 时间日期使用

    一.日期时间 Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理.java.util.Date和SimpleDateFormatter都不是线程安全的 ...

  4. Java 基础篇之反射

    反射 使用反射获取程序运行时的对象和类的真实信息. 获取 Class 对象 每个类被加载之后,系统会为该类生成一个对应的 Class 对象,通过该 Class 对象可以访问到 JVM 中的这个类. 使 ...

  5. mybatis - 通用mapper

    title: 玩转spring-boot-mybatis date: 2019-03-11 19:36:57 type: "mybatis" categories: mybatis ...

  6. ES6入门之Promise对象

    1. Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件更合理.更强大. 1.1 什么是Promise 简单来说就是一个容器,里面保存着某个未来才会结 ...

  7. Java基础学习笔记(五) - 常用的API

    API介绍 概念:API 即应用编程程序接口.Java API是JDK中提供给我们使用的类说明文档,这些类将底层的代码实现封装.无需关心这些类是如何实现,只需要学习如何使用. 使用:通过API找到需要 ...

  8. 利用双重检查锁定和CAS算法:解决并发下数据库的一致性问题

    背景 ​ 最近有一个场景遇到了数据库的并发问题.现在先由我来抽象一下,去掉不必要的繁杂业务. ​ 数据库表book存储着每本书的阅读量,一开始数据库是空的,不存在任何的数据.当用户访问接口的时候,判断 ...

  9. mysql配置默认字符集为UTF8mb4

    [client] default-character-set=utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = ut ...

  10. Unknown column 'user_id' in 'where clause'

    mapper位置报错Unknown column 'user_id' in 'where clause' 可能是数据库中的字段user_id包含空格