目次
if Statements inline" >if Statements inline
Connection
数字のトリック
数値比較
リスト内包表記
辞書の内包
辞書から要素を取得する
リストのサブセットの取得
FizzBu​​zz を解くための 60 文字

初心者必見のPythonのヒント

Mar 17, 2017 pm 03:51 PM
Pythonのスキル

以下は、私が近年集めた Python の実践的なヒントとツールです。お役に立てれば幸いです。

ExchangeVariables

x = 6
y = 5
x, y = y, x
print x
>>> 5
print y
>>> 6
ログイン後にコピー

if Statements inline

print "Hello" if True else "World"
>>> Hello
ログイン後にコピー

Connection

以下の最後の方法は、異なるタイプの 2 つのオブジェクトをバインドする場合に最適です。

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
ログイン後にコピー

数字のトリック

#除后向下取整
print 5.0//2
>>> 2
# 2的5次方
print 2**5
>> 32
ログイン後にコピー

浮動小数点数の割り算に注意してください

print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0
ログイン後にコピー

数値比較

これは多くの言語で見たことがあるとても素晴らしくて簡単な方法です

x = 2
if 3 > x > 1:
   print x
>>> 2
if 1  0:
   print x
>>> 2
ログイン後にコピー

2つのリストを同時に反復処理します

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
for teama, teamb in zip(nfc, afc):
     print teama + " vs. " + teamb
>>> Packers vs. Ravens
>>> 49ers vs. Patriots
ログイン後にコピー

インデックス付きリスト反復

teams = ["Packers", "49ers", "Ravens", "Patriots"]
for index, team in enumerate(teams):
    print index, team
>>> 0 Packers
>>> 1 49ers
>>> 2 Ravens
>>> 3 Patriots
ログイン後にコピー

リスト内包表記

リストが与えられた場合、偶数リストメソッドを選択できます:

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]
ログイン後にコピー

すごいですね、笑。

辞書の内包

リストの内包と同様に、辞書でも同じ仕事ができます:

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print {key: value for value, key in enumerate(teams)}
>>> {'49ers': 1, 'Ravens': 2, 'Patriots': 3, 'Packers': 0}
ログイン後にコピー

リストの値を初期化する

items = [0]*3
print items
>>> [0,0,0]
ログイン後にコピー

リストを文字列に変換する

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> 'Packers, 49ers, Ravens, Patriots'
ログイン後にコピー

辞書から要素を取得する

try/excel コードはエレガントではありませんが、ここでは簡単な方法を示します。辞書でキーを見つけてみます。対応する値が見つからない場合は、2 番目のパラメータを使用してその変数値が設定されます。

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)
ログイン後にコピー

リストのサブセットの取得

リスト内の一部の要素のみが必要な場合もあります。リストのサブセットを取得する方法をいくつか紹介します。

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]
ログイン後にコピー

FizzBu​​zz を解くための 60 文字

少し前に、Jeff Atwood が FizzBu​​zz と呼ばれる簡単なプログラミング演習を宣伝しました が、次のように引用されています:

1 から 100 までの数字を出力するプログラムを作成し、「Fizz」と出力します。この数値を置き換えて、5 の倍数の場合は「Buzz」を出力し、3 と 5 の倍数の両方の数値の場合は「FizzBu​​zz」を出力します。

この問題を解決するための短くて興味深い方法は次のとおりです:

for x in range(101): print"fizz"[x%3*4::]+"buzz"[x%5*4::] or x
ログイン後にコピー

Collection

Python の組み込み

データ型 に加えて、Counter はいくつかの特別な使用例も含まれており、状況によっては非常に実用的です。今年の Facebook HackerCup に参加した人なら、その実用性さえ理解できるでしょう。

from collections import Counter
print Counter("hello")
>>> Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1})
ログイン後にコピー

反復ツール

コレクション ライブラリと同様に、特定の問題を効率的に解決できる itertools と呼ばれるライブラリもあります。ユースケースの 1 つは、すべての組み合わせを見つけることです。これにより、グループ内の要素のありえない組み合わせをすべて知ることができます

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 がグローバル変数であるため、次のようになります。

りー

以上が初心者必見のPythonのヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? 中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? Apr 01, 2025 pm 10:51 PM

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? 文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? Apr 01, 2025 pm 11:18 PM

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

See all articles