Some Python programming skills to beginners

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
Published 35 original articles · won praise 37 · views 30000 +

Guess you like

Origin blog.csdn.net/haoxun03/article/details/104255442