更新しました:
Pythonでは、インデックス範囲に基づいてリストをサブリストに分割するにはどうすればよいですか
例えば元のリスト:
list1 = [x,y,z,a,b,c,d,e,f,g]
インデックス範囲0〜4を使用:
list1a = [x,y,z,a,b]
インデックス範囲5-9を使用:
list1b = [c,d,e,f,g]
ありがとう!
特定の文字列を含むリスト要素の(変数)インデックスが既にわかっていて、これらのインデックス値に基づいてリストを分割したい。
また、可変数のサブリストに分割する必要があります!すなわち:
list1a
list1b
.
.
list1[x]
スライスで変数を使用できることに注意してください。
l = ['a',' b',' c',' d',' e']
c_index = l.index("c")
l2 = l[:c_index]
これにより、lの最初の2つのエントリがl2に配置されます
Pythonでは、スライスと呼ばれます。 pythonのスライス表記 の例を次に示します。
>>> list1 = ['a','b','c','d','e','f','g','h', 'i', 'j', 'k', 'l']
>>> print list1[:5]
['a', 'b', 'c', 'd', 'e']
>>> print list1[-7:]
['f', 'g', 'h', 'i', 'j', 'k', 'l']
ポジティブまたはネガティブにスライスする方法に注意してください。負の数を追加すると、右から左にスライスすることを意味します。
インデックスが既にわかっている場合:
list1 = ['x','y','z','a','b','c','d','e','f','g']
indices = [(0, 4), (5, 9)]
print [list1[s:e+1] for s,e in indices]
範囲を包括的にするために、最後に+1を追加していることに注意してください...
list1a=list[:5]
list1b=list[5:]
list1=['x','y','z','a','b','c','d','e','f','g']
find=raw_input("Enter string to be found")
l=list1.index(find)
list1a=[:l]
list1b=[l:]