0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pythonのよく使う基礎文法覚書(書き途中)

Posted at

Pythonのよく使う基礎文法

キーボード入力

input()で行なう
この時入力された値はstr型で処理される.


x = input()

文字列を分割してリスト化する

スペースなどで区切られた文字列を分割してリストに格納するにはsplit関数を使う.
split関数の引数を空白にした場合は以下のものを分割してくれる.

  • 空白
  • 改行\n
  • タブ\t
  • 垂直タブ\v
  • 復帰\r
  • 改ページ\f
x = 'one two three'
x = x.split()
>>> ['one', 'two', 'three']

任意の文字で区切りたい場合は以下のように書く.

x = 'one,two,three'
x = x.split(',')
>>> ['one', 'two', 'three']

参照:https://www.headboost.jp/python-how-to-split-strings/

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

文字列のリストをまとめて変換するにはリスト内包表記を使うと便利.

x = ['0', '1', '-2', '300']
num = [int(n) for n in x]
print(x)

>>>[0, 1, -2, 300]

改行

\nで行う


print("Hello\nHello")

で入力を行うと

Hello
Hello

と出力される.

printの中に文字列と一緒に変数を表示する

.format()関数を使う.
.format()内の順番通りに{}に入る.


print('{}と{}'.format('a', 'b'))
>>> aとb

配列

Pythonの配列の種類は4種類ある.

  • リスト 大量のデータに番号をつけて管理.追加削除も可能.
  • タプル 大量のデータを番号で管理.追加削除はできない.
  • 辞書 キー(key)と値(value)の組み合わせでデータを管理.
  • 集合 データの重複を許さないデータ構造.

配列の宣言方法


x = []

要素を全て任意の値で埋めたい場合は*を使う.
例えば10個の要素のみが欲しい場合

x = [0] * 10
print(l)
>>> [0,0,0,0,0,0,0,0,0,0]

リストに要素を追加するには

x.append(追加したい数,文字)

空のリストを宣言するには

x = [None]*10

辞書型の宣言方法

mydict = {}

辞書型の要素の値を変更

mydict = {1:"Movie", 2:"Foods", 3:"Reading"}
mydict[2] = "Sports"
print(mydict)
>>> {1: 'Movie', 2: 'Sports', 3: 'Reading'}

辞書型に要素を追加するには

mydict = {1:"Movie", 2:"Foods", 3:"Reading"}
mydict[4] = "Sports"
print(mydict)
>>> {1: 'Movie', 2: 'Foods', 3: 'Reading', 4: 'Sports'}

データ型の種類と宣言方法

名称 概要
int 整数 1,-3,0
float 小数点のついた数 1.12,-3.05,4.0
str 文字列 "Hello",'Hello'
bool ブール値(真偽値) True False

str型

「'」,「"」で囲まれているものは文字列になる.


print(3*"Hello")

と入力すると


>>> HelloHelloHello

と出力される.

四則演算

演算 意味 計算結果
5 + 2 足し算 7
5 - 2 引き算 3
5 * 2 掛け算 10
5 / 2 割り算(小数点以下も出る) 2.5
5 // 2 割り算(小数点以下切り捨て) 2
5 % 3 余りの算出 2

データ型の変更

strをintに変える


int("strの数字")

数字をstrに変える


str(数字)

リストの型変換


ls = [int(i) for i in ls] 

論理演算

if文の条件式等で使う論理演算は以下のように使い,組み合わせる際はーーのように使う.


if a == b and a == c:
   print("Hello")

##for文

for i in range(5):
   print(i)

range関数を使うことが多いがここはイテラブルオブジェクトという名前でここに座標などのリストを入れるとiに座標が入る

points = [[-0.25, 0.00, -3.75], [0.25, 0.00, -3.75], [0.25, 0.50, -3.75], [-0.25, 0.50, -3.75]]
for p in points:
    print(p)

>>> [[-0.25, 0.00, -3.75]
[0.25, 0.00, -3.75]
[0.25, 0.50, -3.75]
[-0.25, 0.50, -3.75]]

##while文

文字列比較のための条件式

文字列で使える代表的な条件式

記号 意味 使用例
< 辞書的に前にある s < "Hello"
<= 辞書的に以前にある s <= "Hello"
> 辞書的に後にある s > "Hello"
>= 辞書的に以後にある s >= "Hello"
== 等しい s == "Hello"
!= 等しくない s != "Hello"
in 文字列の中にもう一方の文字列が含まれているか "abc" in s
not in 文字列の中にもう一方の文字列が含まれていないか "abc" not in s
startwith() 前方一致.()内の単語で始まるかどうか s.startwith("abc")
endwith() 後方一致.()内の単語で終わるかどうか s.endwith()

for文のイテラブルオブジェクト

変数を回数にしたいときはrange(変数)の形にすると使える

Pythonの文字フォーマット(桁数を揃えたりする方法)

例えば時間の表示を揃えたくて0:1を00:01と表示したい時は


hour = 0
minute = 1
print('{:02}:{:02}'.format(hour, minute))
>>> 00:01

となる.
他にも小数点以下を出したい時などは画像の通りに書式を設定する.
スクリーンショット 2021-01-25 22.04.01.png

このサイトがわかりやすい
https://gammasoft.jp/blog/python-string-format/

関数外に変数の値を引き渡す方法

  1. グローバル化
  2. 忘れた

競プロでよく使う表記

数字の各桁の和など

a = 11
A = sum(map(int, str(a)))
print(A)

>>> 2

int型の数字をstrに変更し,map関数でバラしてまたint型に戻し足す

複数行に跨った入力

1
2
3
など複数行の入力を一行で処理する(リスト内包表記の利用)

a, b, c = [int(input()) for i in range(3)]

これで一行で入力の処理が行える

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?