小小程序员的第五篇笔记

Python数据类型(2)

列表(list)

1、定义

列表是Python 中使用最频繁的数据类型,在其他语言中通常叫做数组,通过索引进行查找,使用方括号”[]”。

列表是有序的集合。

2、应用场景

定义列表使用[ ] 定义,数据之间使用“,”分割。

3、列表支持索引和下标

索引就是数据在列表中的位置编号,索引又可以被称为下标。

列表的索引从0 开始,从列表中取值时,如果超出索引范围,程序会产生异常(IndexError: list index out of range)。

4、列表的常用操作

name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
a_tuple = ('123','abc',123)

a_list = list(a_tuple)

print(a_tuple)

print(a_list)

结果:

('123', 'abc', 123)

['123', 'abc', 123]

1)增加

列表名.insert(index, 数据):在指定位置插入数据(位置前有空元素会补位)。

1# 往列表name_list 下标为0 的地方插入数据
2.In [3]: name_list.insert(0, "Sasuke")
3.In [4]: name_list
4.Out[4]: ['Sasuke', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu']
5# 现有的列表下标是0-4,如果我们要在下标是6 的地方插入数据,那个会自动插入到下标为5 的地方,也就是# 插入到最后
6.In [5]: name_list.insert(6, "Tom")
7.In [6]: name_list
8.Out[6]: ['Sasuke', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'Tom']

列表名.append(数据):在列表的末尾追加数据(最常用的方法)。

1.In [7]: name_list.append("Python")
2.In [8]: name_list
3.Out[8]: ['Sasuke', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'Tom', 'Python']

列表.extend(Iterable):将可迭代对象中的元素追加到列表。

1# 有两个列表a 和b a.extend(b) 会将b 中的元素追加到列表a 中
2.In [10]: a = [11, 22, 33]
3.In [11]: b = [44, 55, 66]
4.In [12]: a.extend(b)
5.In [13]: a
6.Out[13]: [11, 22, 33, 44, 55, 66]# 有列表c 和字符串d c.extend(d) 会将字符串d 中的每个字符拆开作为元素插入到列表c
7.In [14]: c = ['j', 'a', 'v', 'a']
8.In [15]: d = "python"
9.In [16]: c.extend(d)
10.In [17]: c
11.Out[17]: ['j', 'a', 'v', 'a', 'p', 'y', 't', 'h', 'o', 'n']

2)取值和修改

取值:列表名[index],根据下标来取值。

1.In [19]: name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
2.In [20]: name_list[0]
3.Out[20]: 'zhangsan'
4.In [21]: name_list[3]
5.Out[21]: 'zhaoliu'

修改:列表名[index] = 数据,修改指定索引的数据。

1.In [22]: name_list[0] = "Sasuke"
2.In [23]: name_list
3.Out[23]: ['Sasuke', 'lisi', 'wangwu', 'zhaoliu']

3)删除

del 列表名[index]:删除指定索引的数据。

1.In [25]: name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]  # 删除索引是1 的数据
2.In [26]: del name_list[1]
3.In [27]: name_list
4.Out[27]: ['zhangsan', 'wangwu', 'zhaoliu']

列表名.remove(数据):删除第一个出现的指定数据。

5.In [30]: name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu", "lisi"]  # 删除第一次出现的lisi 的数据
6.In [31]: name_list.remove("lisi")
7.In [32]: name_list
8.Out[32]: ['zhangsan', 'wangwu', 'zhaoliu', 'lisi']

列表名.pop():删除末尾的数据,返回值: 返回被删除的元素。

9.In [33]: name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]  # 删除最后一个元素zhaoliu 并将元素zhaoliu 返回
10.In [34]: name_list.pop()
11.Out[34]: 'zhaoliu'
12.In [35]: name_list
13.Out[35]: ['zhangsan', 'lisi', 'wangwu']

列表名.pop(index):删除指定索引的数据,返回被删除的元素。

14.In [36]: name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]# 删除索引为1 的数据lisi
15.In [37]: name_list.pop(1)
16.Out[37]: 'lisi'
17.In [38]: name_list
18.Out[38]: ['zhangsan', 'wangwu', 'zhaoliu']

列表名.clear():清空整个列表的元素。

19.In [40]: name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
20.In [41]: name_list.clear()
21.In [42]: name_list
22.Out[42]: []

4)排序

列表名.sort():升序排序从小到大。

23.In [43]: a = [33, 44, 22, 66, 11]
24.In [44]: a.sort()
25.In [45]: a
26.Out[45]: [11, 22, 33, 44, 66]

列表名.sort(reverse=True):降序排序从大到小。

27.In [46]: a = [33, 44, 22, 66, 11]
28.In [47]: a.sort(reverse=True)
29.In [48]: a
30.Out[48]: [66, 44, 33, 22, 11]

列表名.reverse():列表逆序、反转。

31.In [50]: a = [11, 22, 33, 44, 55]
32.In [51]: a.reverse()
33.In [52]: a
34.Out[52]: [55, 44, 33, 22, 11]

5)统计相关

len(列表名):得到列表的长度。

35.In [53]: a = [11, 22, 33, 44, 55]
36.In [54]: len(a)
37.Out[54]: 5

列表名.count(数据):数据在列表中出现的次数。

38.In [56]: a = [11, 22, 11, 33, 11]
39.In [57]: a.count(11)
40.Out[57]: 3

列表名.index(数据):数据在列表中首次出现时的索引,没有查到会报错。

41.In [59]: a = [11, 22, 33, 44, 22]
42.In [60]: a.index(22)
43.Out[60]: 1

if 数据in 列表: 判断列表中是否包含某元素。

44.a = [11, 22, 33, 44 ,55]
45if 33 in a:
46print("找到了....")

6)循环遍历

使用while 循环:

1. a = [11, 22, 33, 44, 55]
2.
3. i = 0
4. while i < len(a):
5. print(a[i])
6. i += 1

使用for 循环:

1. a = [11, 22, 33, 44, 55]
2. for i in a:
3. print(i)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值