ベストアンサー
アロハ!!
[]は、リストだけでなく、インデックス作成、スライス(コレクションの要素へのアクセス、Pythonの文字列)にも使用されます。
[]は、numberに添え字を付けることができないため、numberの要素にアクセスするために使用できません。
セットのインデックス付けとスライスの場合は実行できません。
str、list、tupleの場合、[]にインデックス番号を記載する必要があります。
辞書では、キーを記載する必要があり、スライスはできません。
フォワードインデックス、リバースインデックス
s="Jaydeep"
Forward indexing =>index starts from 0 and ends at len(s)-1
Reverse indexing =>index starts from -len(s) and ends at -1
インデックス作成
s="JaydeepUpadhyaya"
print(s[0]) =>element at index 0 of str s.
l=[1,2,3,5]
print(l[1]) =>element at index 1 of list
l=[[1,2],3,[3,4]]
print(l[2]) =>[3,4]=>2nd element of l
print(l[2][1])=>4
l={190,100,120,78}
print(l[2])
O/P
Traceback (most recent call last):
File "source\_file.py", line 2, in
print(words[0])
TypeError: "set" object does not support indexing
t=(190,78,67,90)
print(l[3]) =>3rd element of tuple
print(l[-2])=>67 , 2nd last element of tuple
dict={"list":"yes","tuple":"yupp","set":"NO"}
print(dict["set"])
i=1234567
print(i[4])
O/P
Traceback (most recent call last):
File "source\_file.py", line 2, in
print(i[4])
TypeError: "int" object is not subscriptable
スライス
[A:b:c] => Aから開始、b-1で終了、ステップ数
s="Jaydeep Upadhyaya"
For forward slicing end =b-1
print(s[0:4:1])=> start from 0 end at 3 with step count 1 (next index after 0 should be +1)
O/P=>JAYD
print(s[1:9:2])=>start from 0 end at (9-1)8 with step count 2 , so index are 1,3,5,7 .
O/P=>ade
Note element at index 7 is 1 space , so o/p is ade
-------------------------------------
Reverse Slicing
For reverse slicing end=b+1
print(s[-1:-5:-1])=>start from -1 , end at (-5+1)-4 with step count 1 so indexs are -1,-2,-3-4-.
O/p=>ayay
print(s[-2:-9:-2])=>start from -2 , end at (-9+1)-8 with step count 2 , so indexes are -2,-4,-6,-8.
O/P=>yydp
Reverse of string
print(s[len(s)::-1])
O/P=>ayayhdapU peedyaJ
print(s[-1:-len(s):-1])=>ayayhdapU peedyaJ
Concept of Slicing for list and tuple is same as string .
希望があれば役立つかもしれません。
A2Aに感謝します。
JD
Answer
[]は、空のリストを表すために使用される以外に、次の方法でも使用できます。
配列のインデックス作成:
# access first element
print(a[0])
# access last element
print(a[-1])
辞書のインデックス作成:
a = {"a": 1, "b":2}
# access the value of key "a"
print(a["a"])
リストスライス:
a = [1, 3, 4, 5]
# print all elements
print(a[:])
# print all elements except first element
print(a[1:])
# print all elements in intervals of 2
print(a[::2])
# reverse the list
print(a[::-1])
リスト内包表記:
# create a list of all even numbers upto 100
a = [i for i in range(0,101,2)]
幸せな学習:)