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?

python リスト型の基本

Posted at

はじめに

現在、コーディング力を向上させるためにpaizaのスキルチェック問題に取り組んでいます。その中でよく使うリスト型について基本を理解しておきたいと思います。
公式ドキュメントに書かれた定義を理解してコーディングをできるようになることが目標です。自分なりに公式ドキュメントから読み取った内容を整理してみたいと思います。
python公式ドキュメントのチュートリアルを参照しました。

list型の特徴

シーケンス型(要素に順序を持つデータ型)の一つ。
複数の値をまとめるために最も多く使われます。基本的には同じ型の要素を持たせます。

1. 基本の入出力

mylist = [1, 2, 3, 4, 5]
print(mylist)
# [1, 2, 3, 4, 5]

2. インデックスの指定

print(mylist[0])
# 1
print(mylist[-2])
# 4
print(mylist[2:])
# [3, 4, 5]

3. listの連結

mylist = [1, 2, 3, 4, 5]
print(mylist + [10, 20, 30, 40, 50])
# [1, 2, 3, 4, 5, 10, 20, 30, 40, 50]

4. listの要素を入れ替える(listはミュータブル)

mylist = [1, 2, 3, 4, 5]
mylist[2] = 30
print(mylist)
# [1, 2, 30, 4, 5]

5. listの末尾に要素を追加

mylist = [1, 2, 3, 4, 5]
mylist.append(60)
print(mylist)
# [1, 2, 3, 4, 5, 60]

6. listの参照

mylist = [1, 2, 3, 4, 5]
mylist2 = mylist
id(mylist) == id(mylist2)
# True

※id(mylist) == id(mylist2)がTrueの場合、この二つの変数は同じリストを内包している。コピーしているわけではない。

mylist.append(60)
print(mylist2)
# [1, 2, 3, 4, 5, 60]

※mylistに要素を追加。printでmylist2を指定しているのに、mylistの要素が出力されている。同じリストを参照していることになる。

7. listのコピー

mylist = [1, 2, 3, 4, 5]
mylist2 = mylist[:]  # [:]でコピーできる

mylist.append(60)
print('mylist:',mylist)
print('mylist2:', mylist2)

# mylist: [1, 2, 3, 4, 5, 60]
# mylist2: [1, 2, 3, 4, 5]

※コピー方法の別例

mylist = [1, 2, 3, 4, 5]
mylist2 = mylist.copy()  # コピー方法の別例

print(mylist2)
# [1, 2, 3, 4, 5]

8. スライスを使ったlistの操作

mylist = [1, 2, 3, 4, 5]
print(mylist)
# [1, 2, 3, 4, 5]

mylist[2:4] = [30, 40]  # 要素の一部を置き換える。今回の場合は要素数は変わらない
print(mylist)
# [1, 2, 30, 40, 5]

mylist[2:4] = []  # 要素の一部を削除する
print(mylist)
# [1, 2, 5]

mylist[:] = []  # 要素を空にして初期化
print(mylist)
# []

9. listの要素数を求める

mylist = [1, 2, 3, 4, 5]
print(len(mylist))
# 5

10. listのネスト構造

mylist = [1, 2, 3, 4, 5]
mylist2 = ['a', 'b', 'c', 'd', 'e']
mylist3 = [mylist, mylist2]

print(mylist3)
# [[1, 2, 3, 4, 5], ['a', 'b', 'c', 'd', 'e']]
print(mylist3[1])
# ['a', 'b', 'c', 'd', 'e']
print(mylist3[1][3])
# d

※mylist3の中にリストが二つ入る二重リストの構造。mylist3の要素にアクセスする場合はインデックスを二重に使う必要がある。

まとめ

リストの基本的な使い方を学習しました。公式ドキュメントの中でも、まずはチュートリアルを確認すると理解しやすいのかもしれないと思いました。次、標準ライブラリを読み込んでみたいと思います。

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?