كيفية شريحة قائمة من عنصر n في الثعبان ؟
سؤال
لدي مشكلة في معرفة كيفية شريحة الثعبان القوائم ، وهي موضحة كما يلي:
>>> 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)
لا تنتمي إلى StackOverflow