[Python] リスト | list

in SCT.암호화폐.Crypto4 years ago (edited)

こんにちは、@yasuです。

今回は、リスト(list)の使い方を習得したいと思います。

実行環境はこちらです。
https://repl.it/

分かったこと。

  • 定義するとき、[]で囲む 例[a,b,c]
  • タプルtupleでできなかった要素の追加、削除、更新ができる。

コード

# ----------------------------------------
# リスト
# ----------------------------------------

# 代入方法1
menu=["ラーメン","餃子","ライス","ビール"]
print(type(menu))
#<class 'list'>

#要素数 len
print(len(menu))
#4

print(menu)
#['ラーメン', '餃子', 'ライス', 'ビール']

# 参照方法 []
# [0],[1],[2]
print(menu[0])
#ラーメン

try:
    print(menu[4])
except IndexError as identifier:
    print(identifier)
    #list index out of range

#代入NG
try:
    menu[0]="五目焼きそば"
    print(menu[0])
    #menu[0]
except TypeError as identifier:
    print(identifier)
    
#最後に追加
menu.append("五目ラーメン")
print(menu)
#['五目焼きそば', '餃子', 'ライス', 'ビール', '五目ラーメン']

#途中に追加
menu.insert(1,"ライス")
print(menu)
#['五目焼きそば', 'ライス', '餃子', 'ライス', 'ビール', '五目ラーメン']

#追加
menu.extend(["Aセット","Bセット","Cセット",])
print(menu)
menu.pop()
menu.pop()
menu.pop()
print(menu)

menu.remove("五目焼きそば")
print(menu)
#['ライス', '餃子', 'ライス', 'ビール', '五目ラーメン']

#削除(最後)
m=menu.pop()
print(menu)
#['ライス', '餃子', 'ライス', 'ビール']
print(m)
#五目ラーメン

#検索(存在するときは、インデックスを返す)
index = menu.index("餃子")
print(index)
#1

#検索(存在しないときは、例外を返す)
try:
    index = menu.index("レバニラ炒め")
    print(index)
except ValueError as identifier:
    print(identifier)
    #'レバニラ炒め' is not in list
    

# 有無判定 in
# あらかじめ有無判定が必要かも
print("レバニラ炒め" in menu)
#False

#個数(指定)
count=menu.count("ライス")
print(count)
#2


# ----------------------------------------
# 代入方法2
[name,price,oomori_umu]=["ラーメン",400,True]
print (name,price,oomori_umu)
#ラーメン 400 True

# ----------------------------------------
#代入方法3
print(list(range(5)))
#[0, 1, 2, 3, 4]

#例、5回ループ
for i in range(5):
    pass

# ----------------------------------------
# shuffle   OK 
# sample    OK
from random import shuffle,sample
numbers = list(range(5))

print(type(numbers))
#<class 'list'>

#混ぜるNG
try:
    shuffle(numbers)
    print(numbers)
    #[0, 4, 2, 3, 1]
except TypeError as identifier:
    print(identifier)

#n個から任意にm個を取得するOK
print(type(sample(numbers,3)))
#<class 'list'>
print(sample(numbers,3))
#[3, 0, 1]

#ソート
numbers.sort()
print(numbers)
#[0, 1, 2, 3, 4]

#逆ソート
numbers.reverse()
print(numbers)
#[4, 3, 2, 1, 0]


#複製(別物)
numbers2 = numbers.copy()
numbers.clear()
print(numbers,numbers2)
#[] [4, 3, 2, 1, 0]

#複製ではない(同じもの)
numbers=numbers2
print(numbers,numbers2)
#[4, 3, 2, 1, 0] [4, 3, 2, 1, 0]
numbers.clear()
print(numbers,numbers2)
#[] []

# 型が混在しても可能
print(sample(["ラーメン",400,True],2))
#[400, 'ラーメン']

# ----------------------------------------
#型変換
menu = tuple(menu)
print(menu)
#('ライス', '餃子', 'ライス', 'ビール')


実行結果

image.png

Sort:  

@yasu transfered 0.5 KRWP to @krwp.burn. voting percent : 5.57%, voting power : 63.19%, steem power : 1921409.70, STU KRW : 1200.
@yasu staking status : 250 KRWP
@yasu limit for KRWP voting service : 0.5 KRWP (rate : 0.002)
What you sent : 0.5 KRWP [47140645 - ea08859577c7fd1b08bd314b93e44f50629ec316]

Coin Marketplace

STEEM 0.35
TRX 0.12
JST 0.040
BTC 71539.00
ETH 3603.23
USDT 1.00
SBD 4.75