Skip to content

Latest commit

 

History

History
398 lines (182 loc) · 3.2 KB

File metadata and controls

398 lines (182 loc) · 3.2 KB

序列: 列表、元组、range

range:

python3中range函数返回一个range对象,python2则返回一个list对象

r = range(10)
type(r)
range
1 in r
True
r[5:]
range(5, 10)
r[5:] == range(5, 10)
True
list(range(0, 10, 2))
[0, 2, 4, 6, 8]
list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

range对象可以转为list对象

lst = list(r)
print(lst)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

list

list/tuple支持以下操作

1 in lst
True
0 not in lst
False
letters = ['a', 'b', 'c', 'd', 'e']
lst + letters
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e']
[[]] * 3
[[], [], []]
letters[0:2]
['a', 'b']
lst[::2]
[0, 2, 4, 6, 8]
lst[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
lst[-1] = 99
lst[0:5] = letters
print(lst)
lst[0:3] = [] # 相当于del lst[0:3]
print(lst)
['a', 'b', 'c', 'd', 'e', 5, 6, 7, 8, 99]
['d', 'e', 5, 6, 7, 8, 99]
lst = list(range(10))
lst[::2] = ['a', 'b', 'c', 'd', 'e']
print(lst)
['a', 1, 'b', 3, 'c', 5, 'd', 7, 'e', 9]
del lst[::2]
print(lst)
[1, 3, 5, 7, 9]
letters * 2
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
letters *= 2
print(letters)
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
print(len(lst), min(lst), max(lst))
5 1 9

index方法可以检测对象在list中出现的位置

letters.index('a')
0
letters2 = letters * 2
(letters * 2).index('a', 3, -1)
5

count方法对象在列表中出现的次数

letters2.count('a')
4

复制list的几种方法

lst1 = lst.copy()
lst2 = lst[:]
lst3 = list(lst)
print(lst1, lst2, lst3)
print(id(lst1), id(lst2), id(lst3))
[1, 3, 5, 7, 9] [1, 3, 5, 7, 9] [1, 3, 5, 7, 9]
4342743752 4339182024 4342746888
letters = ['a', 'b', 'c', 'd', 'e']
letters.append('h')
print(letters)
['a', 'b', 'c', 'd', 'e', 'h']
last = letters.pop()
print(last)
print(letters)
h
['a', 'b', 'c', 'd', 'e']
letters.insert(1, 'b')
print(letters)
['a', 'b', 'b', 'c', 'd', 'e']
letters[1:1] = ['b']
print(letters)
['a', 'b', 'b', 'b', 'c', 'd', 'e']
letters.remove('b')
print(letters)
['a', 'b', 'b', 'c', 'd', 'e']
letters.reverse()
print(letters)
['e', 'd', 'c', 'b', 'b', 'a']

list的排序

letters.sort()
print(letters)
['a', 'b', 'b', 'c', 'd', 'e']

倒序排序

letters.sort(reverse=True)
print(letters)
['e', 'd', 'c', 'b', 'b', 'a']

按指定的键排序

lst = [('a', 1), ('b', 3), ('c', 2)]
lst.sort(key=lambda x:x[1], reverse=True)
print(lst)
[('b', 3), ('c', 2), ('a', 1)]

清空list的办法

letters.clear()
del lst[:]
print(letters, lst)
[] []