15个短代码示例理解python丰富的编程思维

目录
  • 1.检查重复元素
  • 2.变位词
  • 3.检查内存使用情况
  • 4.字节大小计算
  • 5.重复打印字符串 N 次
  • 6.首字母大写
  • 7.分块
  • 8.压缩
  • 9.间隔数
  • 10.链式比较
  • 11.逗号分隔
  • 12.计算元音字母数
  • 13.首字母恢复小写
  • 14.平面化
  • 15.差异

1.检查重复元素

下面的方法可以检查给定列表中是否有重复的元素。它使用了 set() 属性,该属性将会从列表中删除重复的元素。

def all_unique(lst):
    return len(lst) == len(set(lst))
x = [1,1,2,2,3,2,3,4,5,6]
y = [1,2,3,4,5]
all_unique(x) # False
all_unique(y) # True

2.变位词

检测两个字符串是否互为变位词(即互相颠倒字符顺序)

from collections import Counter
def anagram(first, second):
    return Counter(first) == Counter(second)    

anagram("abcd3", "3acdb")
# True

3.检查内存使用情况

以下代码段可用来检查对象的内存使用情况。

import sys
variable = 30
print(sys.getsizeof(variable))
# 24

4.字节大小计算

以下方法将以字节为单位返回字符串长度。

def byte_size(string):
    return(len(string.encode( utf-8 )))   

byte_size( ???? ) # 4
byte_size( Hello World ) # 11

5.重复打印字符串 N 次

以下代码不需要使用循环即可打印某个字符串 n 次

n = 2
s ="Programming"
print(s * n);
# ProgrammingProgramming

6.首字母大写

以下代码段使用 title() 方法将字符串内的每个词进行首字母大写。

s = "programming is awesome"
print(s.title())
# Programming Is Awesome

7.分块

以下方法使用 range() 将列表分块为指定大小的较小列表。

from math import ceil
def chunk(lst, size):
    return list(map(lambda x: lst[x * size:x * size + size],list(range(0, ceil(len(lst) / size)))))    

chunk([1,2,3,4,5],2)
# [[1,2],[3,4],5]

8.压缩

以下方法使用 fliter() 删除列表中的错误值(如:False, None, 0 和“”)

def compact(lst):
    return list(filter(bool, lst))    

compact([0, 1, False, 2, , 3,  a ,  s , 34])
# [ 1, 2, 3,  a ,  s , 34 ]

9.间隔数

以下代码段可以用来转换一个二维数组。

array = [[ a ,  b ], [ c ,  d ], [ e ,  f ]]
transposed = zip(*array)
print(transposed)
# [( a ,  c ,  e ), ( b ,  d ,  f )]

10.链式比较

以下代码可以在一行中用各种操作符进行多次比较。

a = 3
print( 2 < a < 8)
# True    

print(1 == a < 2)
# False

11.逗号分隔

以下代码段可将字符串列表转换为单个字符串,列表中的每个元素用逗号分隔。

hobbies = ["basketball", "football", "swimming"]
print("My hobbies are: " + ", ".join(hobbies))
# My hobbies are: basketball, football, swimming

12.计算元音字母数

以下方法可计算字符串中元音字母(‘a', ‘e', ‘i', ‘o', ‘u')的数目。

import re
def count_vowels(str):
    return len(len(re.findall(r [aeiou] , str, re.IGNORECASE)))    

count_vowels( foobar ) # 3
count_vowels( gym ) # 0
 

13.首字母恢复小写

以下方法可用于将给定字符串的第一个字母转换为小写。

def decapitalize(string):
    return str[:1].lower() + str[1:]    

decapitalize( FooBar ) #  fooBar
decapitalize( FooBar ) #  fooBar

14.平面化

以下方法使用递归来展开潜在的深度列表。

def spread(arg):
    ret = []
    for i in arg:
        if isinstance(i, list):
            ret.extend(i)
        else:
            ret.append(i)
    return retdef 

deep_flatten(lst):
    result = []
    result.extend(spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))
    return result

deep_flatten([1, [2], [[3], 4], 5])
# [1,2,3,4,5]

15.差异

该方法只保留第一个迭代器中的值,从而发现两个迭代器之间的差异。

def difference(a, b):
    set_a = set(a)
    set_b = set(b)
    comparison = set_a.difference(set_b)
    return 

list(comparison)
difference([1,2,3], [1,2,4]) # [3]

以上就是15个短代码示例理解python丰富的编程思维的详细内容,更多关于python短代码编程思维的资料请关注我们其它相关文章!

(0)

相关推荐

  • python正则中最短匹配实现代码

    下面从一个例子入手: 利用正则表达式解析下面的XML/HTML标签: <composer>Wolfgang Amadeus Mozart</composer> <author>Samuel Beckett</author> <city>London</city> 希望自动格式化重写为: composer: Wolfgang Amadeus Mozart author: Samuel Beckett city: London 一个代码是

  • 15个Pythonic的代码示例(值得收藏)

    Python由于语言的简洁性,让我们以人类思考的方式来写代码,新手更容易上手,老鸟更爱不释手. 要写出 Pythonic(优雅的.地道的.整洁的)代码,还要平时多观察那些大牛代码,Github 上有很多非常优秀的源代码值得阅读,比如:requests.flask.tornado,这里小明收集了一些常见的 Pythonic 写法,帮助你养成写优秀代码的习惯. 01. 变量交换 Bad tmp = a a = b b = tmp Pythonic a,b = b,a 02. 列表推导 Bad my_

  • 给大家整理了19个pythonic的编程习惯(小结)

    Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净.整洁.一目了然. 要写出 Pythonic(优雅的.地道的.整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优秀的源代码值得阅读,比如:requests.flask.tornado,下面列举一些常见的Pythonic写法. 0. 程序必须先让人读懂,然后才能让计算机执行. "Programs must be written for people to read, and only incidentally

  • 尝试用最短的Python代码来实现服务器和代理服务器

    一个最简单的服务器 Python拥有这种单独起一个服务器监听端口的能力,用标准库的wsgiref就行. from wsgiref.simple_server import make_server def simple_app(environ, start_response): status = '200 OK' response_headers = [('Content-type','text/plain')] start_response(status, response_headers) r

  • Python通过30秒就能学会的漂亮短程序代码(过程全解)

    ① 二维列表 根据给定的长和宽,以及初始值,返回一个二维列表: def initialize_2d_list(w, h, val=None): return [[val for x in range(w)] for y in range(h)] 例如: >>> initialize_2d_list(2,2) [[None, None], [None, None]] >>> initialize_2d_list(2,2,0) [[0, 0], [0, 0]] ② 函数切割

  • 15个短代码示例理解python丰富的编程思维

    目录 1.检查重复元素 2.变位词 3.检查内存使用情况 4.字节大小计算 5.重复打印字符串 N 次 6.首字母大写 7.分块 8.压缩 9.间隔数 10.链式比较 11.逗号分隔 12.计算元音字母数 13.首字母恢复小写 14.平面化 15.差异 1.检查重复元素 下面的方法可以检查给定列表中是否有重复的元素.它使用了 set() 属性,该属性将会从列表中删除重复的元素. def all_unique(lst): return len(lst) == len(set(lst)) x = [

  • python使用邻接矩阵构造图代码示例

    问题 如何使用list构造图 邻接矩阵的方式 Python代码示例 # !/usr/bin/env python # -*-encoding: utf-8-*- # author:LiYanwei # version:0.1 # 邻接矩阵 ''' a---b\ | | \ | | c | | / e---d/ 对于无向图顶点之间存在边,则为1,反之则为0 a b c d e a 0 1 0 0 1 b 1 0 1 1 0 c 0 1 0 1 0 d 0 1 1 0 1 e 1 0 0 1 0 观

  • Python中对象的引用与复制代码示例

    可以说Python没有赋值,只有引用.你这样相当于创建了一个引用自身的结构,所以导致了无限循环.为了理解这个问题,有个基本概念需要搞清楚. Python没有「变量」,我们平时所说的变量其实只是「标签」,是引用. python中,"a=b"表示的是对象a引用对象b,对象a本身没有单独分配内存空间(重要:不是复制!),它指向计算机中存储对象b的内存.因此,要想将一个对象复制为另一个对象,不能简单地用等号操作,要使用其它的方法.如序列类的对象是(列表.元组)要使用切片操作符(即':')来做复

  • Python爬取附近餐馆信息代码示例

    本代码主要实现抓取大众点评网中关村附近的餐馆有哪些,具体如下: import urllib.request import re def fetchFood(url): # 模拟使用浏览器浏览大众点评的方式浏览大众点评 headers = {'User-Agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'} ope

  • Python使用Turtle模块绘制五星红旗代码示例

    在Udacity上课时学到了python的turtle方法,这是一个很经典的用来教小孩儿编程的图形模块,最早起源于logo语言.python本身内置了这个模块,其可视化的方法可以帮助小孩儿对编程的一些基本理念有所理解. 在作业提交的论坛里看到很多turtle画出来的精美图形,想不出什么要画的东西,于是决定拿五星红旗来练练手. 前期准备 五星红旗绘制参数 Turtle官方文档 turtle的基本操作 # 初始化屏幕 window = turtle.Screen() # 新建turtle对象实例 i

  • Python编程求解二叉树中和为某一值的路径代码示例

    题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径. 思路:首先要理解题意,是从根节点往子节点连. 1.如果只有根节点或者找到叶子节点,我们就把其对应的val值返回 2.如果不是叶子节点,我们分别对根节点的左子树.右子树进行递归,直到找到叶子结点.然后遍历把叶子结点和父节点对应的val组成的序列返回上一层:如果没找到路径,其实也返回了序列,只不过是[] 代码如下: # -*- coding:utf-

  • python matplotlib 注释文本箭头简单代码示例

    注释文本箭头 结果展示: 完整代码示例: import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=(5, 5)) ax.set_aspect(1) x1 = -1 + np.random.randn(100) y1 = -1 + np.random.randn(100) x2 = 1. + np.random.randn(100) y2 = 1. + np.random.randn(100

  • Python中join函数简单代码示例

    本文简述的是string.join(words[, sep]),它的功能是把字符串或者列表,元组等的元素给拼接起来,返回一个字符串,和split()函数与正好相反,看下面的代码理解. 首先展示下结果吧! 代码分享: a=["豫","N","C8","C89"] b=("豫","N","C8","C89") c="zhang" a

  • python获取淘宝服务器时间的代码示例

    然但是,这个只能获取到秒,没法到毫秒.我暂时不知道该咋解决 代码 import requests import time while True: class timeTaobao(object): r1 = requests.get(url='http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp', headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)

随机推荐

其他