This article describes some of the programming techniques to Python beginners, are all based on the basis of some programming habits suggested that a friend in need can refer to the following
exchange variables
x = 6
y = 5
x, y = y, x
print x
>>> 5
print y
>>> 6
if statements within the row
print "Hello" if True else "World"
>>> Hello
connection
Here's a way in the last two different types of binding objects appeared to be very co
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
Digital Skills
#除后向下取整
print 5.0//2
>>> 2
# 2的5次方
print 2**5
>> 32
Note that floating-point division
print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0
Numerical comparison
This is what I've seen so many languages rarely stick some simple method
x = 2
if 3 > x > 1:
print x
>>> 2
if 1 < x > 0:
print x
>>> 2
Meanwhile iterative two lists
nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
for teama, teamb in zip(nfc, afc):
print teama + " vs. " + teamb
>>> Packers vs. Ravens
>>> 49ers vs. Patriots
With a list of the iteration index
teams = ["Packers", "49ers", "Ravens", "Patriots"]
for index, team in enumerate(teams):
print index, team
>>> 0 Packers
>>> 1 49ers
>>> 2 Ravens
>>> 3 Patriots
List comprehensions
Given a list, we can list even-brush method selected
numbers = [1,2,3,4,5,6]
even = []
for number in numbers:
if number%2 == 0:
even.append(number)
Into the following:
numbers = [1,2,3,4,5,6]
even = [number for number in numbers if number%2 == 0]
It is not very cattle it, ha ha.
Derivation dictionary
And a list of similar derivation, dictionary can do the same job:
teams = ["Packers", "49ers", "Ravens", "Patriots"]
print {key: value for value, key in enumerate(teams)}
>>> {'49ers': 1, 'Ravens': 2, 'Patriots': 3, 'Packers': 0}
Value initialization list
items = [0]*3
print items
>>> [0,0,0]
The list into a string
teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> 'Packers, 49ers, Ravens, Patriots'
Gets the element from the dictionary
I admit try / except the code is not elegant, but here there is a simple method, try to find the key in the dictionary, if the corresponding alue does not find its variable values will be set by the second argument.
data = {'user': 1, 'name': 'Max', 'three': 4}
try:
is_admin = data['admin']
except KeyError:
is_admin = False
1
Cheng replace this:
data = {'user': 1, 'name': 'Max', 'three': 4}
is_admin = data.get('admin', False)
Gets a subset of the list
Sometimes, you need only a partial element of the list, here are some ways to get a list subset.
x = [1,2,3,4,5,6]
#前3个
print x[:3]
>>> [1,2,3]
#中间4个
print x[1:5]
>>> [2,3,4,5]
#最后3个
print x[-3:]
>>> [4,5,6]
#奇数项
print x[::2]
>>> [1,3,5]
#偶数项
print x[1::2]
>>> [2,4,6]
60 characters solve FizzBuzz
Some time ago Jeff Atwood promote a simple program of exercises called FizzBuzz, issues the following references:
写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”。
Here is a brief, interesting way to solve this problem:
for x in range(101):print"fizz"[x%3*4::]+"buzz"[x%5*4::]or x
We recommend learning Python buckle qun: 913066266, look at how seniors are learning! From basic web development python script to, reptiles, django, data mining, etc. [PDF, actual source code], zero-based projects to combat data are finishing. Given to every little python partner! Every day, Daniel explain the timing Python technology, to share some of the ways to learn and need to pay attention to small details, click on Join us python learner gathering
collection
Python addition to built-in data types, in the same collection module further comprises a special embodiment of the use, in some occasions useful Counter. If you participated in this year's HackerCup Facebook, you can even find his practical place.
from collections import Counter
print Counter("hello")
>>> Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1})
Iteration tool
Libraries and collections, as well as a library called itertools, really efficiently solve certain issues. One of them is to find a combination of all cases, he can not tell you all combinations of elements in a group
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
Compared to practical technology, this is a very interesting thing, in python, True and False are global variables,
False = True
if False:
print "Hello"
else:
print "World"
>>> Hello