Python-シーケンスタイプのリスト
3514 ワード
リスト#リスト#
リストは、0つ以上のオブジェクト参照を含む順序付きシーケンスです.
リストは可変です.リスト内のアイテムを削除または置換できます.リスト内のスライスを挿入、置換または削除することもできます.
関数#カンスウ#
空のリストはlist()関数で作成するか、空の四角カッコで作成できます.
メタグループと同様に、リストには任意のデータ型のデータ項目が格納され、リストやメタグループなどの組合せデータ型が含まれます.
リストでは、標準の比較オペレータ(=、>)を使用できます.
リストは、リスト内のデータ項目にアクセスするためにスライス操作を行うことができる
メタグループと同様に、リストもネスト、指、スライスなどの操作をサポートし、inとnot inを使用してメンバー関係テストを行い、+を使用して接続し、+=を使用して拡張し、*と*=を使用して複製操作を行う.
リストには、組み込まれたlen()関数とdel文を使用できます.
方法
任意の指定可能な(リスト、タプルなど)データ型は、シーケンス分割オペレータを使用して分割できます.つまり*
リストの内容
付加条件
ネストの実装
リストは、0つ以上のオブジェクト参照を含む順序付きシーケンスです.
リストは可変です.リスト内のアイテムを削除または置換できます.リスト内のスライスを挿入、置換または削除することもできます.
関数#カンスウ#
list() # ,
del x # , , 。 , try...finally ; with
>>>woods = ["Cedar", "Yew", "Pine", "Fir", "Spruce"];
>>>woods[2:4] = [] == del woods[2:4];
range(x) # ,x , x n, range() 0, 1, ..., n -1
>>>for i in range(len(numbers)):
numbers[i] += 1; #
空のリストはlist()関数で作成するか、空の四角カッコで作成できます.
メタグループと同様に、リストには任意のデータ型のデータ項目が格納され、リストやメタグループなどの組合せデータ型が含まれます.
リストでは、標準の比較オペレータ(=、>)を使用できます.
リストは、リスト内のデータ項目にアクセスするためにスライス操作を行うことができる
>>>L = [-17.5, "kilo", 49, "V", ["ram", 5, "echo"], 7];
>>>L[1][0] == L[-5][0] == 'k';
>>>L[4][2] == L[4][-1] == L[-2][2] == L[-2][-1] == 'echo';
>>>L[4][2][1] == L[4][2][-3] == L[-2][-1][1] == L[-2][-1][-3] == 'c';
メタグループと同様に、リストもネスト、指、スライスなどの操作をサポートし、inとnot inを使用してメンバー関係テストを行い、+を使用して接続し、+=を使用して拡張し、*と*=を使用して複製操作を行う.
リストには、組み込まれたlen()関数とdel文を使用できます.
方法
L.append(x) # x L
L.count(x) # x L
L.extend(m) # iterable m L , +=
L.index(x, start, end) # x L ( L start:end ) , ValueError
L.pop(i) # L int i , list L
L.remove(x) # list L x, x ValueError
L.reverse() # L
L.sort() # L , sorted()
L.insert(i, x) # int i x L
>>>woods = ["Cedar", "Yew", "Fir", "Spruce"];
>>>woods[2:2] == woods.insert(2, "Pine");
['Cedar', 'Yew', 'Pine', 'Fir', 'Spruce']
任意の指定可能な(リスト、タプルなど)データ型は、シーケンス分割オペレータを使用して分割できます.つまり*
>>>first, *rest = [9, 2, -4, 8, 7];
>>>first, rest;
(9, [2, -4 , 8, 7])
>>>first, *mid, last = "Charles Philip Arthur George Windsor".split()
>>>first, mid, last;
('Charles', ['Philip', 'Arthur', 'George'], 'Windsor')
>>>*directories, ezecutable = "/usr/local/bin/gvim".split("/")
>>>directories, executable;
(['', 'usr', 'local', 'bin'], 'gvim')
>>>def product(a, b, c):
return a * b * c;
>>>L = [2, 3, 5];
>>>product(*L)
30
>>>product(2, *L[1:]);
30
リストの内容
付加条件
>>>leaps = [];
>>>for year in range(1900, 1940):
if(year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
leaps.append(year);
>>>leaps = [y for y in range(1900, 1940) if(y % 4 == 0 and y % 100 != 0) or (y % 400 == 0)];
ネストの実装
>>>codes = []
>>>for sex in "MF": #Male,Female
for size in "SMLX": #Small, Medium, Large, eXtra large
if sex == "F" and size == "X":
continue;
for color in "BGW": #Black, Gray, White
codes.append(sex + size + color);
>>>codes = [s + z + c for s in "MF" for z in "SMLX" for c in "BGW" if not (s == "F" and z == "X")];