目次
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)

Python vs. C:曲線と使いやすさの学習 Python vs. C:曲線と使いやすさの学習 Apr 19, 2025 am 12:20 AM

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

Pythonの学習:2時間の毎日の研究で十分ですか? Pythonの学習:2時間の毎日の研究で十分ですか? Apr 18, 2025 am 12:22 AM

Pythonを1日2時間学ぶだけで十分ですか?それはあなたの目標と学習方法に依存します。 1)明確な学習計画を策定し、2)適切な学習リソースと方法を選択します。3)実践的な実践とレビューとレビューと統合を練習および統合し、統合すると、この期間中にPythonの基本的な知識と高度な機能を徐々に習得できます。

Python vs. C:パフォーマンスと効率の探索 Python vs. C:パフォーマンスと効率の探索 Apr 18, 2025 am 12:20 AM

Pythonは開発効率でCよりも優れていますが、Cは実行パフォーマンスが高くなっています。 1。Pythonの簡潔な構文とリッチライブラリは、開発効率を向上させます。 2.Cのコンピレーションタイプの特性とハードウェア制御により、実行パフォーマンスが向上します。選択を行うときは、プロジェクトのニーズに基づいて開発速度と実行効率を比較検討する必要があります。

Python vs. C:重要な違​​いを理解します Python vs. C:重要な違​​いを理解します Apr 21, 2025 am 12:18 AM

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

Python Standard Libraryの一部はどれですか:リストまたは配列はどれですか? Python Standard Libraryの一部はどれですか:リストまたは配列はどれですか? Apr 27, 2025 am 12:03 AM

PythonListSarePartOfThestAndardarenot.liestareBuilting-in、versatile、forStoringCollectionsのpythonlistarepart。

Python:自動化、スクリプト、およびタスク管理 Python:自動化、スクリプト、およびタスク管理 Apr 16, 2025 am 12:14 AM

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

科学コンピューティングのためのPython:詳細な外観 科学コンピューティングのためのPython:詳細な外観 Apr 19, 2025 am 12:15 AM

科学コンピューティングにおけるPythonのアプリケーションには、データ分析、機械学習、数値シミュレーション、視覚化が含まれます。 1.numpyは、効率的な多次元配列と数学的関数を提供します。 2。ScipyはNumpy機能を拡張し、最適化と線形代数ツールを提供します。 3. Pandasは、データ処理と分析に使用されます。 4.matplotlibは、さまざまなグラフと視覚的な結果を生成するために使用されます。

Web開発用のPython:主要なアプリケーション Web開発用のPython:主要なアプリケーション Apr 18, 2025 am 12:20 AM

Web開発におけるPythonの主要なアプリケーションには、DjangoおよびFlaskフレームワークの使用、API開発、データ分析と視覚化、機械学習とAI、およびパフォーマンスの最適化が含まれます。 1。DjangoandFlask Framework:Djangoは、複雑な用途の迅速な発展に適しており、Flaskは小規模または高度にカスタマイズされたプロジェクトに適しています。 2。API開発:フラスコまたはdjangorestFrameworkを使用して、Restfulapiを構築します。 3。データ分析と視覚化:Pythonを使用してデータを処理し、Webインターフェイスを介して表示します。 4。機械学習とAI:Pythonは、インテリジェントWebアプリケーションを構築するために使用されます。 5。パフォーマンスの最適化:非同期プログラミング、キャッシュ、コードを通じて最適化

See all articles