听说你也要自学python,看这儿就够了(三)

这集我们和大家一起了解一下python的数据结构之(列表和数组)

对于这两个概念我个人自学完的感觉就是C语言里的数组和被锁死的数组。哈哈,这是我个人观点!当然,这里的数组中的元素不只是数,而是元素。所以python把他换了名字:列表和元组,但是理解起来有c基础的同学可以假想他是一个抽象数组,就容易理解多了。
言归正传,这一更,我们走进列表和元组!

目录

  1. 序列概述
  2. 通用序列操作
  3. 列表:python主力干将
  4. 元组:莫得感情的列表(莫挨老子)

2.3 列表:python的主力干将

2.3.1 函数list

鉴于不能像修改列表那样修改字符串,因此在有些情况下使用字符串来创建列表很有帮助。为此可使用函数:list

>>>list(hello)
['h','e','l','l','o']

请注意:可将任何序列(不仅仅是字符串)作为list的参数

2.3.2 基本的列表操作

可对列表执行所有的标准序列操作,如索引、切片,拼接和相乘,但是列表的有趣之处在于他是可以修改的。本节将介绍一些修改列表的方法。

2.3.2.1 修改元素:给元素赋值
>>>x = [1,2,3]
>>>x[1] = 9
>>>x
[1,9,3]
2.3.2.2 删除元素(del)

从列表中删除元素也很容易。使用del即可

>>>x = [1,2,3]
>>>del x[0]
>>>x
[2,3]
2.3.2.3 给切片赋值

切片是一个极其强大的功能,给切片赋值让这个功能更加强大。

>>>x = [1,2,3,4,5,6]
>>>x[2:6] = [9]
>>>x
[1,2,9]

2.3.3 列表方法

1.append
append单词本意增补;附加;追加;添加
在python里面,他能把一个元素添加至列表末尾。

>>>x = [1,2,3]
>x.append(4)
>>>x
[1,2,3,4]

2.clear
方法clear可以就地清除列表内容。

>>>x = [1,2,3]
>>>x.clear()#这里记得加括号
>>>x
[]

3.copy
常规复制只是将一个名称和列表关联,copy则更加专业
下面是常规复制:

>>>x = [1,2,3]
>>>y = x
>>>y[0] = 4
>>>x
[4,2,3]

使用copy函数

>>>x = [1,2,3]
>>>y = x.copy()
>>>y[0] = 4
>>>x
[1,2,3]

使用copy后发现原序列并未改变
4.count
方法count计算指定元素在列表中出现的次数

>>>[1,2,3,4,5,6,1,2,1,3,4,8].count(1)
3
>>>x = [[1,2],1,1,[1,2,[1,3]]]
>>>x.count(1)
2#这里只计算x列表中1作为元素出现的次数
>>>x.count([1,2])
1

5.extend
方法extend可以将几个列表进行整合,整合出一个新列表

>>>a = [1,2,3]
>>>b = [4,5,6]
>>>a.extend(b)
>>>a
[1,2,3,4,5,6]

与之不同的拼接是不改变原列表的属性

>>>a = [1,2,3]
>>>b = [4,5,6]
>>>a + b
[1,2,3,4,5,6]
>>>a
[1,2,3]#这样的拼接效率是低于extend的

6.index
方法index在列表中查找指定元素第一次出现的索引

>>>x = ['i','love','you']
>>>x.index('i')
0

7.insert
方法insert用来将一个对象插入列表

>>>x = [1,2,3,4,5,6]
>>>x.insert(3,5)
>>>x
[1,2,3,5,4,5,6]

8.pop
方法pop从列表中删除一个元素,默认最后一个,并返回这一元素。

>>>x = [1,2,3]
>>>x.pop()
>>>x
[1,2]
>>>x.pop(0)
1
>>>x
[2]

9.remove
remove用来删除为指定值的元素

>>>x = [1,2,3,4,5,6]
>>>x.remove(1)
>>>x
[2,3,4,5,6]

10.reverse
reverse将列表顺序颠倒

>>>x = [1,2,3]
>>>x.reverse()
>>>x
[3,2,1]

11.sort
sort方法可以将列表自动排序!!

>>>x = [6,5,2,3,4,1,8,9,7]
>>>x.sort()
>>>x
[1,2,3,4,5,6,7,8,9]

2.4 元组:莫得感情的列表(莫挨老子)

和列表一样,元组也是序列的一种。唯一的差别就是元组不可以修改

>>>1,2,3#元组之间值用逗号隔开
(1,2,3)#元组可以用圆括号括起来

空元组可以用两个不包含任何内容的圆括号表示

>>>()
()

如果只包含一个值的元组该怎样表示呢?

>>>42
42
>>>(42)
42
>>>42,
(42,)
>>>(42,)
(42,)

最后两个示例创建的元组长度为1,而第一个示例根本呢就没有创建元组。所以说逗号至关重要

>>>3 * (40+2)
126
>>>3 * (40+2,)
(42,42,42)
函数tuple

函数tuple的工作原理和list很像:他将一个序列作为参数,并将其转换为元组。如果参数事元组,那么就原封不动的返回它。

>>>tuple([1,2,3])
(1,2,3)
>>>tuple('abc')
('a','b','c')
>>>tuple((1,2,3))
(1,2,3)

元组中元素的创建和访问和其他序列差不多:

>>>x = 1,2,3
>>>x[1]
2
>>>x[0:2]
(1,2)

元组的切片也是元组。
至此,列表和元组的知识点讲述完毕。下一更走进一种新的序列:字符串

发布了14 篇原创文章 · 获赞 26 · 访问量 4285

猜你喜欢

转载自blog.csdn.net/m0_46976252/article/details/105590665