python-List(列表操作)

列表反转

>>> blist=[1,2,3,4,5,6,7,8,9,10]

>>> blist[::-1]  使用:: 符号   从右边第一个元素开始逆序

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

>>> blist[::-2]  从右边第二个元素开始 间隔一个逆序

[10, 8, 6, 4, 2]

同理 blist[::3] 会得到[10, 7, 4, 1] 如果::后面跟的是正数

>>> blist[::1]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

blist[::2]

[1, 3, 5, 7, 9]

还有一种方式 使用reversed

>>> list(reversed(blist))

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

还有其他对list的操作:len() 、+、*、in、max()min() cmp()这跟对字符串的操作类似

比较重要的是列表的函数append()和extend()


append()函数:

list.append(x) 等价于 a[len(a):] = [x] 其中len(a) 是列表a 的长度

>>> alist

['a', 'b', 'c']

>>> alist[len(alist):]=['d']

>>> alist

['a', 'b', 'c', 'd']

>>> alist.append('e')

>>> alist

['a', 'b', 'c', 'd', 'e']

extend 将一个列表追加到另外一个列表之后

>>> clist=['I','me','mine']

>>> clist.extend(blist)  # 把 blist 追加到 clist 之后

>>> clist

['I', 'me', 'mine', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

注意被追加的内容一定要是list类型

>>> la=[1,2,3]

>>> b="abc"

>>> la.extend(b)

>>> la

[1, 2, 3, 'a', 'b', 'c']

>>> c=5>>> la.extend(c)  # c 是一个数值类型

Traceback (most recent call last):  File "", line 1, inla.extend(c)

TypeError: 'int' object is not iterable

list.extend(L) 等价于list[len(list):] = L  L是带并入的list

extend 是将另外一个元素增加到自己的列表中,但是这个元素必须是iterable 可迭代的

某些类型的对象是可迭代的 ,list 类型是可迭代的  字符串类型是不可迭代的

比如 增加的元素是字符串类型 “python”

la.extend("python")  的时候会将"python" 字符串转化为 ['p','y','t','h','o','n']


append 和extend都是原地修改列表,所以没有返回值,没有返回值就不能赋值给某个变量

>>> one=["good","good","study"]

>>> one.extend(['day','day','up'])

>>> one

['good', 'good', 'study', 'day', 'day', 'up']

>>> two = one

>>> two

['good', 'good', 'study', 'day', 'day', 'up']

>>> three = one.extend(['day','day','up'])  # 不能赋值 所以three变量什么值都没有



>>> lst=[1,2,3]

>>> lst.append(["java",'pyhton'])

>>> lst

[1, 2, 3, ['java', 'pyhton']]

>>> lst=[1,2,3]

>>> lst.extend(['java', 'pyhton'])

>>> lst

[1, 2, 3, 'java', 'pyhton']

你可能感兴趣的:(python-List(列表操作))