Python開発基盤-Day 3-リスト、メタグループ、辞書
42483 ワード
リスト#リスト#
リスト定義:[]内はカンマで区切られ、インデックスに従って様々なデータ型が格納され、各場所は要素を表します.
機能:
1.複数の値を保存可能
2.指定したインデックスの位置に対応する値を変更できます.
3.リスト要素を左から右への順序で定義し、下付き文字は0から順にアクセスし、順序付けします.
リストを作成するには
リストの一般的な操作:
索引
追加:最後に要素を追加
≪挿入|Insert|ldap≫:要素を追加する場所を指定します.
削除:
pop()インデックスなしデフォルトは最後の要素から削除されます
remove()マッチングの最初から削除
長さ:リスト内の要素が長さを計算し、conut()メソッドは要素の数を計算します.
スライス
ループループループ:インデックスによるリストのループ
含む(Include):リストを直接巡回する
コピー
拡張:別のリストのすべての要素を1つのリストに順次追加します.
クリア:すべての要素をクリア
反転
ソート:リストは純文字列または純数値のみ
メタグループ
メタグループ定義:リストと似ていますが、[]を()に変更します.
機能:
1.複数の値を保存可能
2.不変
3.左から右への順序でメタグループ要素を定義し、下付き文字は0から順にアクセスし、順序付け
メタグループを作成するには
メタグループの一般的な操作:
メタグループの操作はリストの操作と似ていますが、メタグループは可変タイプなので、追加、削除、挿入などの操作方法はありません.
索引
スライス
長さ
ループ
含む
辞書
定義:{key 1:value 1,key 2:value 2},key-value構造,keyはhash,すなわち可変タイプでなければならない
機能:
1.複数の値を保存可能
2.指定したkeyに対応する値を変更可能、可変
3.無秩序でprintの順序が異なるたびに
辞書の作成:
ディクショナリへの変換:値は1つのみ
更新:上書き、追加なし、既存の保存
変換メタグループ:変換のタイプはtubleタイプではありませんが、for i in d.itemsのようにtupleのように呼び出すことができます.
変換タプル削除{{へんかん:タプルさくじょ}}
キー値のペアを追加:キーがすでに存在する場合は、追加せずに更新しません.
索引
新規作成
削除
キー、値、キー値ペア
ループ
長さ
転載先:https://www.cnblogs.com/zero527/p/6964020.html
リスト定義:[]内はカンマで区切られ、インデックスに従って様々なデータ型が格納され、各場所は要素を表します.
機能:
1.複数の値を保存可能
2.指定したインデックスの位置に対応する値を変更できます.
3.リスト要素を左から右への順序で定義し、下付き文字は0から順にアクセスし、順序付けします.
リストを作成するには
#!/usr/bin/env python
# -*- coding: utf-8 -*-
list_test1=['hello',12,'ok']
list_test2=list('abc')
list_test3=list(['hello',12,'ok'])
print(list_test1)
print(list_test2)
print(list_test3)
:
['hello', 12, 'ok']
['a', 'b', 'c']
['hello', 12, 'ok']
リストの一般的な操作:
索引
list_test1=['hello',12,'ok',[14,19]]
print(list_test1.index('hello')) # :0
print(list_test1.index([14,19])) # :3
print(list_test1.index(19)) # ValueError: 19 is not in list, index() ,
追加:最後に要素を追加
list_test1=['hello',12,'ok',[14,19]]
list_test1.append(1994)
print(list_test1)
list_test1.append('txt')
print(list_test1)
:
['hello', 12, 'ok', [14, 19], 1994]
['hello', 12, 'ok', [14, 19], 1994, 'txt']
≪挿入|Insert|ldap≫:要素を追加する場所を指定します.
list_test1=['hello',12,'ok',[14,19]]
list_test1.insert(3,'exe') # ,exe
print(list_test1)
list_test1.insert(0,'txt')
print(list_test1)
:
['hello', 12, 'ok', 'exe', [14, 19]]
['txt', 'hello', 12, 'ok', 'exe', [14, 19]]
削除:
pop()インデックスなしデフォルトは最後の要素から削除されます
list_test1=['hello',12,'ok',[14,19]]
list_test1.pop()
print(list_test1)
list_test1.pop(0)
print(list_test1)
:
['hello', 12, 'ok']
[12, 'ok']
remove()マッチングの最初から削除
list_test1=['ok','hello','ok',12,'ok',[14,19]]
list_test1.remove('ok')
print(list_test1)
:
['hello', 'ok', 12, 'ok', [14, 19]]
長さ:リスト内の要素が長さを計算し、conut()メソッドは要素の数を計算します.
list_test1=['hello',12,'ok',[14,19]]
print(len(list_test1))
list_test1=['hello','ok',12,'ok',[14,19]]
print(list_test1.count('ok'))
スライス
list_test1=['a','c','f',1,2,3,'2a','3b']
print(list_test1[5])
print(list_test1[3:5])
print(list_test1[1:6:2])
:
3
[1, 2]
['c', 1, 3]
ループループループ:インデックスによるリストのループ
l=[1,'a',3,[4,5]]
l_size=len(l)
for index in range(l_size):
value=l[index]
if type(value) is list:
for i in range(len(value)):
print(value[i])
else:
print(value)
:
1
a
3
4
5
含む(Include):リストを直接巡回する
l=[1,'a',3,[4,5]]
for i in l:
x=i
if type(x) is int:
print(x)
else:
for a in x:
print(a)
:
1
a
3
4
5
コピー
list_test1=['a','c','f']
list_test2=list_test1.copy()
print(list_test2)
['a', 'c', 'f']
拡張:別のリストのすべての要素を1つのリストに順次追加します.
list_test1=['a','c','f']
list_test1.extend([1,2,3])
print(list_test1)
['a', 'c', 'f', 1, 2, 3]
クリア:すべての要素をクリア
list_test1=['a','c','f']
list_test1.clear()
print(list_test1)
:
[]
反転
list_test1=['ok','hello','ok',12,'ok',[14,19]]
list_test1.reverse()
print(list_test1)
:
[[14, 19], 'ok', 12, 'ok', 'hello', 'ok']
ソート:リストは純文字列または純数値のみ
list_test1=['a','c','f']
print(list_test1)
list_test1.sort()
list_test1.sort(reverse=True) # ,
print(list_test1)
:
['a', 'c', 'f']
['f', 'c', 'a']
メタグループ
メタグループ定義:リストと似ていますが、[]を()に変更します.
機能:
1.複数の値を保存可能
2.不変
3.左から右への順序でメタグループ要素を定義し、下付き文字は0から順にアクセスし、順序付け
メタグループを作成するには
tuple_test1 = (11, 'aa', 3, 'bc', 'aa','aa')
tuple_test2 = tuple((11, 22, 33, 44, 55))
print(tuple_test1)
print(tuple_test2)
:
(11, 'aa', 3, 'bc', 'aa', 'aa')
(11, 22, 33, 44, 55)
メタグループの一般的な操作:
メタグループの操作はリストの操作と似ていますが、メタグループは可変タイプなので、追加、削除、挿入などの操作方法はありません.
索引
tupel_test1=('hello',12,'ok',(14,19),['a','b'])
print(tupel_test1.index('hello')) # 0
print(tupel_test1.index((14,19))) # 3
print(tupel_test1.index(19)) # , list ,
スライス
tupel_test1=('hello',12,'ok',(14,19),['a','b'])
print(tupel_test1[1])
print(tupel_test1[3][1])
print(tupel_test1[4][0])
:
12
19
a
長さ
tupel_test1=('hello','ok',12,'ok',(14,19),['a','b'])
print(tupel_test1.count('ok'))
:
2
ループ
tuple_test1=('hello','ok',12,'ok',(14,19))
t_size=len(tuple_test1)
for index in range(t_size):
value=tuple_test1[index]
if type(value) is tuple:
for i in range(len(value)):
print(value[i])
else:
print(value)
hello
ok
12
ok
14
19
含む
t=(1,'a',3,[4,5])
t_size=len(t)
for index in range(t_size):
value=t[index]
if type(value) is list:
for i in range(len(value)):
print(value[i])
else:
print(value)
:
1
a
3
4
5
辞書
定義:{key 1:value 1,key 2:value 2},key-value構造,keyはhash,すなわち可変タイプでなければならない
a=1
b='abc'
c=[1,2]
d=('a','b')
print(hash(a))
print(hash(b))
# hash(c) # hash, TypeError
print(hash(d))
1
-5597926949654223802
4804482478488461503
機能:
1.複数の値を保存可能
2.指定したkeyに対応する値を変更可能、可変
3.無秩序でprintの順序が異なるたびに
辞書の作成:
person1 = {"name": "bob", 'age':18}
person2 = dict(name='alex', age=19)
person3 = dict({"name": "natasha", 'age':20})
person4 = dict((['name','bob'],['age',10]))
print(person1)
print(person2)
print(person3)
print(person4)
:
{'name': 'bob', 'age': 18}
{'name': 'alex', 'age': 19}
{'name': 'natasha', 'age': 20}
{'name': 'bob', 'age': 10}
ディクショナリへの変換:値は1つのみ
d5={}.fromkeys(['name','age'],None)
print(d5)
d6={}.fromkeys(['name','age'],['bob',18])
print(d6)
{'name': None, 'age': None}
{'name': ['bob', 18], 'age': ['bob', 18]}
更新:上書き、追加なし、既存の保存
d={'name':'alex'}
d1={'name':'alexbb','age':15}
d.update(d1)
print(d)
{'name': 'alexsb', 'age': 15}
変換メタグループ:変換のタイプはtubleタイプではありませんが、for i in d.itemsのようにtupleのように呼び出すことができます.
d={'x':1,'y':1}
print(d.items())
dict_items([('x', 1), ('y', 1)])
変換タプル削除{{へんかん:タプルさくじょ}}
d={'x':1,'y':1}
print(d.items())
d.popitem()
print(d.items())
dict_items([('x', 1), ('y', 1)])
dict_items([('x', 1)])
キー値のペアを追加:キーがすでに存在する場合は、追加せずに更新しません.
d={'x':1,'y':1}
d.setdefault('x','1')
print(d)
d.setdefault('x','3')
print(d)
d.setdefault('k','aaa')
print(d)
{'x': 1, 'y': 1}
{'x': 1, 'y': 1}
{'x': 1, 'y': 1, 'k': 'aaa'}
索引
person1 = {"name": "bob", 'age':18}
print(person1['name'])
bob
新規作成
person1 = {"name": "bob", 'age':18}
person1['sex'] = 'male'
print(person1)
{'name': 'bob', 'age': 18, 'sex': 'male'}
削除
person1 = {"name": "bob", 'age':18}
print(person1.pop('name'))
print(person1)
bob
{'age': 18}
キー、値、キー値ペア
# key value
person1 = {"name": "bob", 'age':18}
print(person1.keys())
print(person1.values())
dict_keys(['name', 'age']) # dict_keys
dict_values(['bob', 18]) # dict_values
# key
print(person1.get('name'))
print(person1.get('abc'))
bob
None # key None
ループ
person1 = {"name": "bob", 'age':18, 'sex':'male'}
for x in person1.keys():
y = person1[x]
print(x,y)
:
name bob
age 18
sex male
長さ
person1 = {"name": "bob", 'age':18}
print(len(person1))
:
2
転載先:https://www.cnblogs.com/zero527/p/6964020.html