10 个 Python 初学者必知编码小技巧
技巧 #1
字符串翻转
>>> a = "codementor">>> print "Reverse is",a[::-1]翻转后的结果为 rotnemedoc
技巧 #2
矩阵转置
>>> mat = [[1, 2, 3], [4, 5, 6]]>>> zip(*mat)[(1, 4), (2, 5), (3, 6)]
技巧 #3
a = [1,2,3]
将列表中的三个元素分拆成三个变量
>>> a = [1, 2, 3]>>> x, y, z = a>>> x1>>> y2>>> z3
技巧 #4
a = ["Code", "mentor", "Python", "Developer"]
将字符串列表拼接成一个字符串
>>> print " ".join(a)Code mentor Python Developer
技巧 #5
List 1 = ['a', 'b', 'c', 'd']
List 2 = ['p', 'q', 'r', 's']
编写 Python 代码,实现下面的输出
- ap
- bq
- cr
- ds
>>> for x, y in zip(list1,list2):... print x, y...a pb qc rd s
技巧 #6
仅用一行代码实现两个变量的交换
>>> a=7>>> b=5>>> b, a =a, b>>> a5>>> b7
技巧 #7
不使用循环,输出 "codecodecodecode mentormentormentormentormentor"
>>> print "code"*4+' '+"mentor"*5codecodecodecode mentormentormentormentormentor
技巧 #8
a = [[1, 2], [3, 4], [5, 6]]
不使用循环,将其转变成单个列表
输出:- [1, 2, 3, 4, 5, 6]
>>> import itertools>>> list(itertools.chain.from_iterable(a))[1, 2, 3, 4, 5, 6]
技巧 #9
检查一个单词和另一个单词是否只是字母顺序不同
def is_anagram(word1, word2): """检查一个单词和另一个单词是否只是字母顺序不同 word1: string word2: string returns: boolean """
将上面的函数补充完毕,以检查一个单词和另一个单词是否只是字母顺序不同
from collections import Counterdef is_anagram(str1, str2): return Counter(str1) == Counter(str2)>>> is_anagram('abcd','dbca')True>>> is_anagram('abcd','dbaa')False
技巧 #10.
从字符串输入中获取值
对于输入数据 1 2 3 4 我们希望得到列表 [1, 2, 3, 4] 。
请注意,列表中的元素都是 int 类型,且只能使用一行代码。
>>> result = map(lambda x:int(x) ,raw_input().split())1 2 3 4>>> result[1, 2, 3, 4]
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
mysql中blob数据处理
package epoint.mppdb_01.h3c; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URI; import java.sql.Blob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInpu...
- 下一篇
java多线程
Java多线程 部分转载自知乎用户 Snailclimb · 南理汉子 · 很好 Table of contents 进程和多线程简介 使用多线程 实例变量和线程安全 一些常用方法 如何停止一个线程 线程的优先级 Java多线程分类 简介 相关概念 多线程 概念 何为线程 何为进程 线程和进程有何不同 通俗说法 开个QQ,开了一个进程;开了迅雷,开了一个进程。在QQ的这个进程里,传输文字开一个线程、传输语音开了一个线程、弹出对话框又开了一个线程。所以运行某个软件,相当于开了一个进程。在这个软件运行的过程里(在这个进程里),多个工作支撑的完成QQ的运行,那么这“多个工作”分别有一个线程。所以一个进程管着多个线程。通俗的讲:“进程是爹妈,管着众多的线程儿子”... 线程 线程进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源。 进程 是具有一定独立功能的程序、它是系统进行资源分配和调度的一个独立单位,重点在系统调度和单独的单位,也就是说进程是可以独 立运行的一段程序。 线程和进程有何不同 关系: 一个线程只能属于一个进程,而一个...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Mario游戏-低调大师作品
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Red5直播服务器,属于Java语言的直播服务器
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库