刚读了Effective Python
a = [
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h']
print(
'first four: ',a[:
4])#[
'a',
'b',
'c',
'd']
print(
'Last four: ',a[-
4:])#[
'e',
'f',
'g',
'h']
print(
'Middle two: ',a[
3:-
3])#[
'd',
'e']
assert
a[:
5] ==
a[
0:
5]
assert
a[
5:] ==
a[
5:
len(
a)]
a[:
20]
# [
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h']
a[-
20:]
# [
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h']
a[
20]
# IndexError: list index out of range
a = [
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h']
a[
2:
7] = [
99,
22,
14]
print(a) #[
'a',
'b',
99,
22,
14,
'h']
b =
a[:]
assert b ==
a and b is
not a
b = a
assert a
is b
avoid using start,end,and stride in a single slice [ start: end: stride]
a = [
'red',
'orange',
'yellow',
'green',
'blue',
'purple']
odds = a[::
2]
# [
'red',
'yellow',
'blue']
evens = a[
1::
2]
# [
'orange',
'green',
'purple']
x = b
'mongoose'# type(x) <class
'bytes'>(in python3)
y = x[::-
1]
print(y)
# b'esoognom'
#specifying
start, end, and stride in a slice can be extremely confusing
#prefer using positive stride values in slice widthout start or end indexs.Avoid negative stride values if possible
转载请注明原文地址: https://ju.6miu.com/read-5740.html