Python初学者的捷径[译]

下面列出的都是这些年总结的Python的有用的知识点和一些工具。希望对你有所帮助!

交换变量值

x = 6
y = 5

x, y = y, x

print x
>>> 5
print y
>>> 6

内联if语句

print "Hello" if True else "World"
>>> Hello

联接

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
print nfc + afc
>>> ['Packers', '49ers', 'Ravens', 'Patriots']

print str(1) + " world"
>>> 1 world

print `1` + " world"
>>> 1 world

print 1, "world"
>>> 1 world
print nfc, 1
>>> ['Packers', '49ers'] 1

数字运算

#Floor Division (rounds down)
print 5.0//2
>>> 2

#2 raised to the 5th power
print 2**5
>> 32

注意float数做整除运算后的出来的还是整数

print .3/.1
>>> 2.9999999999999996

print .3//.1
>>> 2.0

数字对比

x = 2

if 3 > x > 1:
    print x
>>> 2

if 1 < x > 0:
    print x
>>> 2

同时遍历两个数组

 

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]

for teama, teamb in zip(nfc, afc):
    print teama + " vs. " + teamb

>>> Packers vs. Ravens
>>> 49ers vs. Patriots

 

延伸阅读zip方法,请点这里

遍历List并获得index

 

teams = ["Packers", "49ers", "Ravens", "Patriots"]
for index, team in enumerate(teams):
    print index, team

>>> 0 Packers
>>> 1 49ers
>>> 2 Ravens
>>> 3 Patriots

理解List

这个:

numbers = [1,2,3,4,5,6]
even = []
for number in numbers:
    if number%2 == 0:
        even.append(number)

可以写成:

numbers = [1,2,3,4,5,6]
even = [number for number in numbers if number%2 == 0]

理解Dictionary

和List很相似,Dictionary的这个可以写成:

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print {key: value for value, key in enumerate(teams)}
>>> {'49ers': 1, 'Ravens': 2, 'Patriots': 3, 'Packers': 0}

初始化List的值

items = [0]*3
print items
>>> [0,0,0]

List转换为String

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> 'Packers, 49ers, Ravens, Patriots'

从Dictionary中取得Item

一般来说是这样的,用一个try-except块包裹起来以防要取得的key值不存在:

data = {'user': 1, 'name': 'Max', 'three': 4}
try:
    is_admin = data['admin']
except KeyError:
    is_admin = False

但是你可以这样:

data = {'user': 1, 'name': 'Max', 'three': 4}
is_admin = data.get('admin', False)

取List得子集

很简单的取子集的方法:

x = [1,2,3,4,5,6]

#First 3
print x[:3]
>>> [1,2,3]

#Middle 4
print x[1:5]
>>> [2,3,4,5]

#Last 3
print x[-3:]
>>> [4,5,6]

#Odd numbers
print x[::2]
>>> [1,3,5]

#Even numbers
print x[1::2]
>>> [2,4,6]

60个字符搞定FizzBuzz问题

FizzBuzz问题:写一个程序打印1到100的数字。遇到3的倍数打印“Fizz”来替换这个数。5的倍数打印“Buzz“,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”代替这个数字

for x in range(1,101):print"Fizz"[x%3*4:]+"Buzz"[x%5*4:]or x

这里就是List的一个知识点了。如果方括号里,冒号左边的数字式大于字符串长度的,那么什么都不会输出!也就是在非3或者5的倍数的时候什么都不会输出。

集合

在collections模块下的Counter,有时候也是很有用的。

from collections import Counter

print Counter("hello")
>>> Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1})

Itertools

from itertools import combinations

teams = ["Packers", "49ers", "Ravens", "Patriots"]
for game in combinations(teams, 2):
    print game

>>> ('Packers', '49ers')
>>> ('Packers', 'Ravens')
>>> ('Packers', 'Patriots')
>>> ('49ers', 'Ravens')
>>> ('49ers', 'Patriots')
>>> ('Ravens', 'Patriots')

False == True

在python里,True和False只不过是全局变量,所以:

False = True
if False:
    print "Hello"
else:
    print "World"

>>> Hello

如果你发现什么有趣的东西欢迎在下面补齐!

 

from:http://www.maxburstein.com/blog/python-shortcuts-for-the-python-beginner/

 

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/p/4294761.html

时间: 2024-10-15 20:28:07

Python初学者的捷径[译]的相关文章

python初学者编程过程中遇到问题

问题描述 python初学者编程过程中遇到问题 用python编写了个Person类:''Created on 2014年9月19日 @author: Administrator''' class Person: def __init__(selfnameagesalary=0job=None): self.name=name self.age=age self.salary=salary self.job=jobdef lastName(self): return self.name.spli

Python初学者:TypeError

问题描述 Python初学者:TypeError -*- coding: utf-8 -*- print ("你好") print("what is your name Tom") number_list=[1,2,3,4] print("number list="+str(number_list)) string_list=["abd","bbc","python"] string_l

写给 Python 初学者的设计模式入门

有没有想过设计模式到底是什么?通过本文可以看到设计模式为什么这么重要,通过几个Python的示例展示为什么需要设计模式,以及如何使用. 设计模式是什么? 设计模式是经过总结.优化的,对我们经常会碰到的一些编程问题的可重用解决方案.一个设计模式并不像一个类或一个库那样能够直接作用于我们的代码.反之,设计模式更为高级,它是一种必须在特定情形下实现的一种方法模板.设计模式不会绑定具体的编程语言.一个好的设计模式应该能够用大部分编程语言实现(如果做不到全部的话,具体取决于语言特性).最为重要的是,设计模

用Python物理建模的第一本书终于来啦

点击标题下「异步图书」可快速关注 今天这一本图书,是全网第一本Python物理建模书. 他是一本用Python解决科学问题的实践指南! 他就是<Python物理建模初学者指南> 他有多牛,众多世界知名大学教授推荐阅读! 作者更像是耐心的潜水教练,手把手地从零开始教授编程新手,帮助他们克服学习中的障碍,回避各种陷阱.在阅读完本书后,读者应该能具有专业人士般的自信,驾驭Python解决数据分析.建模和可视化中的科学问题.本书适于作为任何场景下科学编程的教程.当然我也会使用它.  --Garnet

《Python硬件编程实战》——2.2 Python的两大版本

2.2 Python的两大版本 目前Python主要有两个大的版本: Python 2 Python 3 Python两大版本的不同写法 关于两种版本的对比,也常写成为 Python 2.x VS Python 3.x Python 2 VS Python 3 py2 VS py3 读者以后看到类似写法,明白其指的是Python 2和Python 3就可以了.2.2.1 Python版本历史 为了更深入地理解Python 2和Python 3的区别,此处先简要介绍Python版本的发展历史. P

Python爬虫正则表达式常用符号和方法

正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持的语法通常是不常用的部分. 1.常用符号 . :匹配任意字符,换行符 \n 除外 :匹配前一个字符0次或无限次 ? :匹配前一个字符0次或1次 .* :贪心算法,尽可能的匹配多的字符 .*? :非

《从问题到程序:用Python学编程和计算》——1.2 Python语言简介

1.2 Python语言简介 本节将首先简单介绍Python语言的一些基本情况,包括其发展和使用的情况.而后介绍Python语言系统的安装和使用方面的基本常识.1.2.1 Python语言的发展和应用 Python语言是CWI(荷兰国家数学和计算机研究中心)的程序员Guido van Rossum在1989年开始开发的一种高级编程语言,当时的主要设计目标是希望能用于方便地管理CWI的Amoeba操作系统.后来,由于其各方面的优点而逐渐流行起来. Python语言现在由Python软件基金会(Py

python入门之语句(if语句、while语句、for语句)_python

python入门之语句,包括if语句.while语句.for语句,供python初学者参考. //if语句例子 name = 'peirong'; if name == 'peirong': print 'this is peirong'; elif name== 'maojun': print 'this is maojun'; else: print 'others'; //while语句 i = 0; a = range(10); while i < a.__len__(): print

《Python硬件编程实战》——1.5 Python的必备常识

1.5 Python的必备常识 有一些和Python相关的常识性的知识,即使是Python初学者也需要先了解清楚.下面就来介绍这些内容.1.5.1 Python文件的后缀 在计算机的世界里,多数文件的类型都是通过文件的后缀来区分的.Python文件的后缀是.py.换句话说,我们见到的Python代码文件的文件名就是类似于xxx.py的.1.5.2 Python的缩写和简称 正是由于Python文件的后缀是.py,所以很多人也常用py来指代Python.比如后文中将会看到的,有些人把Python