سؤال

لدي مشكلة في معرفة كيفية شريحة الثعبان القوائم ، وهي موضحة كما يلي:

>>> test = range(10)
>>> test
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> test[3:-1]
[3, 4, 5, 6, 7, 8]
>>> test[3:0]
[]
>>> test[3:1]
[]
>>> test
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

إلى فهمي ، بيثون شريحة يعني lst[البداية:end] ، بما في ذلك البدء ، باستثناء نهاية.فكيف يمكنني العثور على "بقية" من قائمة بدءا من عنصر n ؟

شكرا جزيلا على مساعدتك!

هل كانت مفيدة؟

المحلول

ويمكنك ترك واحدة من نهاية شريحة مفتوحة من خلال عدم تحديد قيمة.

test[3:] = [3, 4, 5, 6, 7, 8, 9]
test[:3] = [0, 1, 2]

نصائح أخرى

إذا كنت تستخدم المتغير كما نقطة النهاية مجموعة، يمكنك استخدام None.

 start = 4
 end = None
 test[start:end]

وببساطة حذف النهاية.

test[n:]

وترك الخروج نهاية لا تزال تعمل عندما كنت ترغب في تخطي بعض:

range(10)[3::2] => [3, 5, 7, 9]

وإرجاع شريحة من القائمة بعد قيمة البداية:

list = ['a','b','c','d']
start_from = 'b' # value you want to start with
slice = list[list.index(start_from):] # returns slice from starting value to end

يمكنك أيضا استخدام None الكلمة الأساسية نهاية المعلمة عند التقطيع.وهذا من شأنه أيضا أن عودة العناصر حتى نهاية القائمة (أو أي تسلسل مثل tuple, سلسلة, الخ.)

# for list
In [20]: list_ = list(range(10))    
In [21]: list_[3:None]
Out[21]: [3, 4, 5, 6, 7, 8, 9]

# for string
In [22]: string = 'mario'
In [23]: string[2:None]
Out[23]: 'rio'

# for tuple
In [24]: tuple_ = ('Rose', 'red', 'orange', 'pink', 23, [23, 'number'], 12.0)
In [25]: tuple_[3:None]
Out[25]: ('pink', 23, [23, 'number'], 12.0)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top