Pythonリストとメタグループ
59764 ワード
文書ディレクトリ Pythonリストとメタグループ 概要 汎用シーケンス動作 インデックス スライス シーケンス加算 乗算 メンバーシップ リスト(Python主力) 関数list 基本的なリスト操作 リストメソッド タプル:変更不可シーケンス は、タプル を例示するまとめ 以上に現れる関数 ソースアドレス Pythonリストとメタグループ
概要
Pythonには複数のメタグループが内蔵されており、ここでは最もよく使われる2つを重点的に紹介します.は、クエリ関係型データ(エントリ情報を返し、 .知識ポイントPythonには、コンテナ(container)というデータ構造の基本概念がある.容器とは、物を詰めることで、多くのオブジェクト、オブジェクトを含むことができます.
汎用シーケンス操作
すべてのシーケンス、例えば
索引
すべての要素に番号が付いていて、
スライス
シーケンス加算
乗算#ジョウサン#
メンバーシップ
リスト(Python主力)
リストには独自の方法がたくさんあります
関数リスト
基本的なリスト操作
リストメソッド
定義:メソッドは、オブジェクト(リスト、数、文字列など)と密接に関連する関数表現形式です:
タプルタプル:変更不可シーケンス
リストと同様に、メタグループもシーケンスであり、唯一の違いは、メタグループが
タプルの例マッピング内のキー(およびセットのメンバー)として使用されますが、リストは ではありません.一部の組み込み関数およびメソッドは、メタグループを返します.これは、それらと付き合う必要があることを意味します.メタグループを変更しようとしない限り、メタグループと「付き合う」ことは、通常、それらを処理リストのように処理することを意味する(メタグループにないindexやcount 10などの方法を使用する必要がある場合は例外).
まとめシーケンスシーケンスは、要素バンド番号(0から始まる番号)のデータ構造です.リスト、文字列、メタグループはシーケンスに属し、リストは可変です(コンテンツを変更できます).メタグループと文字列は可変です(作成すると、コンテンツは固定されます).シーケンスの一部にアクセスするには、スライス操作を使用します.スライスの開始位置と終了位置を指定する2つのインデックスを指定します.リストを変更するには、要素に値を割り当てるか、値を割り当てる文を使用してスライスに値を割り当てることができます. メンバーシップ特定の値がシーケンス(または他のコンテナ)に含まれているかどうかを決定するには、演算子inを使用します.演算子inを文字列に使用する場合は特殊です.これにより、サブ列が検索されます. メソッドのいくつかの組み込みタイプ(リストや文字列など)は、メタグループを含まないが、多くの有用な方法を提供します.メソッドは関数に似ていますが、特定の値に関連付けられています.方法はオブジェクト向けプログラミングの重要な側面であり,7章で紹介する.
以上の関数
関数#カンスウ#
説明
len(seq)
戻りシーケンスの長さ
list(seq)
シーケンスをリストに変換
max(args)
シーケンスまたはパラメータのセットの最大値を返します.
min(args)
シーケンスとパラメータのセットの最小値を返します.
reversed(seq)
シーケンスを逆反復することができます
sorted(seq)
指定したシーケンス内のすべての要素を含む順序付きリストを返します.
tuple(seq)
シーケンスをタプルに変換
ソースアドレス
GitHub Address
概要
Pythonには複数のメタグループが内蔵されており、ここでは最もよく使われる2つを重点的に紹介します.
、
です.まずリスト、通常?次のように
に格納)を仮定する:#
edward = ['Edward Gumby', 42]
john = ['John Smith', 50]
database = [edward, john]
# String,
print(' :'+database.__str__())
( ) ( ), , , ( )
-Pythonマッピング. , 【Set】
. 汎用シーケンス操作
すべてのシーケンス、例えば
、 、 、
および
検査に適したいくつかの動作がある.索引
すべての要素に番号が付いていて、
0
から始まります!#
greeting = 'Hello'
print(greeting[0])
# ( )
print(greeting[-1])
# , 3
fourth = input('Year: ')[3]
print(fourth)
スライス
############### ###############
# ( )
tag = 'Python web site'
print(tag[9:30])
print(tag[32:-4])
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[3:6])
print(numbers[0:1])
print(numbers[7:10])
# - ( )
print(numbers[-3:-1])
# print(numbers[-3:0]) # , ,
#
print(numbers[-3:])
# 2
print(numbers[:3])
#
print(numbers[:])
# 12 4
# url = input('Please enter the URL:')
# domain = url[11:-4]
# print("Domain name: " + domain)
# : (1), 0——10, 1
print(numbers[0:10:1])
# 0——10, 2
print(numbers[0:10:2])
# 3——6, 3
print(numbers[3:6:3])
# : 3 1
print(numbers[::4])
# : 0, , ,
print(numbers[8:3:-1])
print(numbers[10:0:-2])
print(numbers[0:10:-2])
print(numbers[::-2])
print(numbers[5::-2])
print(numbers[:5:-2])
シーケンス加算
############### ###############
#
print([1, 2, 3] + [4, 5, 6])
print('Hello,' + 'world!')
# ,
# print([1, 2, 3] + 'world!')
# Traceback (innermost last):
# File "", line 1, in ? [1, 2, 3] + 'world!'
# TypeError: can only concatenate list (not "string") to list
乗算#ジョウサン#
############### ###############
print('python' * 5)
print([42] * 10)
# None、
# Python "None" , 10 , 10
sequence = [None] * 10
print(sequence)
#
sentence = input("Sentence: ")
screen_width = 80
text_width = len(sentence)
box_width = text_width + 6
left_margin = (screen_width - box_width)
print()
print(' ' * left_margin + '+' + '-' * (box_width - 2) + '+')
print(' ' * left_margin + '|' + ' ' * text_width + ' |')
print(' ' * left_margin + '|' + sentence + ' |')
print(' ' * left_margin + '|' + ' ' * text_width + ' |')
print(' ' * left_margin + '+' + '-' * (box_width - 2) + '+')
print()
メンバーシップ
############### ###############
#
permissions = 'rw'
print('w' in permissions)
print('x' in permissions)
users = ['mlh', 'foo', 'bar']
# ,
# input('Enter your user name: ') in users
subject = '$$$ Get rich now!!! $$$'
print('$$$' in subject)
# PIN
# database = [
# ['albert', '1234'],
# ['dilbert', '4242'],
# ['smith', '7524'],
# ['jones', '9843']
# ]
#
# username = input('User name: ')
# pin = input('PIN code: ')
# if [username, pin] in database :print('Access granted')
#
numbers = [100, 34, 678]
print(len(numbers))
print(max(numbers))
print(min(numbers))
print(max(2, 3))
print(min(9, 3, 2, 5))
リスト(Python主力)
リストには独自の方法がたくさんあります
関数リスト
list , , ,
############### list ###############
somelist=list('Hello')
#
print(somelist)
#
print(''.join(somelist))
基本的なリスト操作
############### ###############
# ,
x = [1, 1, 1]
x[1] = 2
print(x)
#
names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']
del names[2]
print(names)
#
name = list('Perl')
print(name)
name[2:] = list('ar')
print(name)
#
name = list('Perl')
name[1:] = list('ython')
print(name)
#
numbers = [1, 5]
numbers[1:1] = [2, 3, 4]
print(numbers)
# ( ' ')
numbers[1:4] = []
print(numbers)
リストメソッド
定義:メソッドは、オブジェクト(リスト、数、文字列など)と密接に関連する関数表現形式です:
object.method(arguments)
# 2.3 :Python
############### list ###############
somelist=list('Hello')
#
print(somelist)
#
print(''.join(somelist))
############### ###############
# ,
x = [1, 1, 1]
x[1] = 2
print(x)
#
names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']
del names[2]
print(names)
#
name = list('Perl')
print(name)
name[2:] = list('ar')
print(name)
#
name = list('Perl')
name[1:] = list('ython')
print(name)
#
numbers = [1, 5]
numbers[1:1] = [2, 3, 4]
print(numbers)
# ( ' ')
numbers[1:4] = []
print(numbers)
############### ###############
- 1. append
lst = [1, 2, 3]
lst.append(4)
print(lst)
# 2. clear
lst = [1, 2, 3]
lst.clear()
print(lst)
# 3. copy
a = [1, 2, 3]
b = a
b[1] = 4
print(a)
# a b , b a , :
a = [1, 2, 3]
b = a.copy()
b[1] = 4
print(a)
# a[:] list(a), a。
# 4. count
# count 。
print(['to', 'be', 'or', 'not', 'to', 'be'].count('to'))
x = [[1, 2], 1, 1, [2, 1, [1, 2]]]
print(x.count(1))
print(x.count([1, 2]))
# 5. extend( )
a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a)
#
a = [1, 2, 3]
b = [4, 5, 6]
print(a+b)
print(a)
# 6. index
knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni']
print(knights.index('who'))
# print(knights.index('herring')) # , herring
# Traceback (innermost last):
# File "", line 1, in ?
# knights.index('herring')
# ValueError: list.index(x): x not in list
# 'who' , 4 。
print(knights[4])
# 7. insert
numbers = [1, 2, 3, 5, 6, 7]
numbers.insert(3, 'four')
print(numbers)
numbers = [1, 2, 3, 5, 6, 7]
numbers[3:3] = ['four']
print(numbers)
# 8. pop
# pop ( ), 。
x = [1, 2, 3]
print(x.pop())
print(x)
print(x.pop(0))
print(x)
#pop None 。
# **** pop —— (stack)。 , , 。 , (LIFO)。 ***
#pop , , Python push, append
x = [1, 2, 3]
x.append(x.pop())
print(x) # , 3, 3, 1,2,3 + 3(x.append()) 1,2,3-3 (x.pop)
# 9. remove
# remove 。
x = ['to', 'be', 'or', 'not', 'to', 'be']
print(x.remove('be'))
# print(x.remove('bee'))
# Traceback (innermost last):
# File "", line 1, in ? x.remove('bee')
# ValueError: list.remove(x): x not in list
# 10. reverse
# reverse 。
x = [1, 2, 3]
print(x.reverse())
print(list(reversed(x)))
# 11. sort
x = [4, 6, 2, 1, 7, 9]
print(x.sort())
# sort x , x , y None:
x = [4, 6, 2, 1, 7, 9]
y = x.sort()
print(y)
# , y x , y , :
x = [4, 6, 2, 1, 7, 9]
y = x.copy()
y.sort()
print(x)
print(y)
# x y , x y 。
# , sorted:
x = [4, 6, 2, 1, 7, 9]
y = sorted(x)
print(y)
print(x)
# , ,
print(sorted('Python'))
# , sort( sorted), reverse, reverse, 。
# 12.
# sort :key reverse。 , , 6 。 key cmp: 。 , , , 。 , , key len。
x = ['aardvark', 'abalone', 'acme', 'add', 'aerate']
x.sort(key=len)
print(x)
# reverse, (True False, 5 ), 。
x = [4, 6, 2, 1, 7, 9]
x.sort(reverse=True)
print(x)
タプルタプル:変更不可シーケンス
リストと同様に、メタグループもシーケンスであり、唯一の違いは、メタグループが
であることです(文字列も変更できないことに気づいたかもしれません).メタグループの構文は簡単で、いくつかの値をカンマで区切るだけで、自動的にメタグループを作成できます.タプルの例
############## ##############
print((1, 2, 3))
# ()
# tuple
print(tuple([1, 2, 3]))
print(tuple('abc'))
print(tuple((1, 2, 3)))
,
、なぜメタグループに詳しいのですか?理由は次の2つです.まとめ
以上の関数
関数#カンスウ#
説明
len(seq)
戻りシーケンスの長さ
list(seq)
シーケンスをリストに変換
max(args)
シーケンスまたはパラメータのセットの最大値を返します.
min(args)
シーケンスとパラメータのセットの最小値を返します.
reversed(seq)
シーケンスを逆反復することができます
sorted(seq)
指定したシーケンス内のすべての要素を含む順序付きリストを返します.
tuple(seq)
シーケンスをタプルに変換
ソースアドレス
GitHub Address