python入门(三)列表LIST

python入门(三)列表LIST,第1张

python入门(三)列表LIST

目录

一、定义

1.1 直接定义

1.2 使用其他容器来初始化列表

二、列表是个筐,什么都能装

三、索引方式和切片

3.1 正向索引与逆向索引

3.2 切片方法

3.3 切片方法不改变原列表

3.4 列表可以通过索引被改变

四、运算:‘+’  ‘*’  ‘len()’  ‘in’

4.1 ‘+’:列表可以通过‘+’连接

4.2 ‘*’:列表可以通过‘*’复制

4.3 ‘len()’:查看列表长度

4.4 ‘in’:查询元素是否在列表中

五、增加列表元素

5.1 append()函数

5.2 insert()函数

5.3 extend()函数

①列表:

字符串

六、删除列表元素

6.1 pop()

①无参情况  默认删除最后一位,将值返回

②有参情况  删除参数位置元素,将值返回

6.2 remove()

6.3 clear()

七、排序

7.1 按大小排序:sort()

①list.sort()会改变列表内元素位置

②sorted(list)新复制一个列表进行排序

7.2 将列表倒序

①list.reverse()会改变列表内元素位置

②reversed(list)新复制一个列表进行倒序排列

八、比较列表与字符串

8.1 列表与字符串的相互转换

列表">①字符串-->列表

字符串">②列表-->字符串

③注意,下面的方法无法转换得到连接起来的字符串

8.2 关于可变不可变的比较

①列表可变,lst[2] = 'i'

②字符串不可变,s[2] = 'i'   会报错


一、定义 1.1 直接定义
lst = []                        定义空表
lst = ["a",1,(1,2)]             初始化表,列表装一切
print(type(lst))

显示
1.2 使用其他容器来初始化列表
a = ('a','b','c')                先初始化一个元组
lst = list(a)                    强制类型转换,用元组初始化列表
print(type(lst))

显示:

二、列表是个筐,什么都能装

列表中的元素是有顺序的,元素可以重复。

三、索引方式和切片 3.1 正向索引与逆向索引

列表与字符串具有相同的索引方式:

正向索引:正向计数,从0开始到正无穷。

逆向索引:逆向计数,从-1开始到负无穷。

每个元素具有两个索引序号。

a = ('a','b','c')
lst = list(a)
print(lst[-1],"和",lst[2])

显示:

c 和 c
3.2 切片方法

切片方法与字符串相同。

详情见字符串篇,切片章节

3.3 切片方法不改变原列表

想要将列表元素倒序,可以切片后重新赋值。

3.4 列表可以通过索引被改变
lst = [1,2,3,4,5,6,7,8,9,10]
lst[0]=0
print(lst)

显示:

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

字符串不能通过索引方式被改变,但是列表可以。

四、运算:‘+’  ‘*’  ‘len()’  ‘in’ 4.1 ‘+’:列表可以通过‘+’连接
lst1 = [1,2,3,4,5]
lst2 = [6,7,8,9,10]
lst = lst1 + lst2;
print(lst)

显示:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
4.2 ‘*’:列表可以通过‘*’复制
lst1 = [1,2,3,4,5]
lst = lst1 * 3;
print(lst)

显示:

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
4.3 ‘len()’:查看列表长度
lst1 = [1,2,3,4,5]
print(len(lst1))

显示:

5
4.4 ‘in’:查询元素是否在列表中
lst1 = [1,2,3,4,5]
print('1' in lst1 )

显示:

False                查询的是‘1’字符,数字1在列表中
五、增加列表元素

列表是容器:

可以增加列表长度,但是列表的内存地址没有变化。

5.1 append()函数

添加元素到列表末尾。

lst1 = [1,2,3,4,5]
lst1.append(6)
print(lst1 )

显示:

[1, 2, 3, 4, 5, 6]
5.2 insert()函数
lst.insert(a,b)         在a位置上插入b值,原来的元素后移

举例:

lst1 = [1,2,3,4,5]
lst1.insert(0,0)
print(lst1 )

显示:

[0, 1, 2, 3, 4, 5]
5.3 extend()函数

extend()函数参数需要符合要求:可迭代对象。

lst1 = [1,2,3,4,5]
lst1.extend(0)
print(lst1 )

错误:TypeError: 'int' object is not iterable
①列表:
​
lst1 = [1,2,3,4,5]
lst2 = [6,7,8,9]
lst1.extend(lst2)
print(lst1 )

显示:

[1, 2, 3, 4, 5, 6, 7, 8, 9]
②字符串:
lst1 = [1,2,3,4,5]
s = "nlp"
lst1.extend(s)
print(lst1 )

显示:

[1, 2, 3, 4, 5, 'n', 'l', 'p']

字符串会被拆分成单个字符存入列表。

六、删除列表元素 6.1 pop() ①无参情况  默认删除最后一位,将值返回 ②有参情况  删除参数位置元素,将值返回
lst1 = [1,2,3,4,5]
print(lst1.pop())

lst2 = [1,2,3,4,5]
print(lst2.pop(-2))

显示:

5
4
6.2 remove()

删除查找到的第一次出现的参数值。无返回值。

lst1 = [1,2,3,4,5]
lst1.remove(2)
print(lst1)


显示:

[1, 3, 4, 5]
6.3 clear()

将列表清空,相当于把筐里的东西倒掉,没有换筐。

lst1 = [1,2,3,4,5]

方法1:
lst1 = []                  相当于重建了个列表,指向lst1。原来的list由于没有指向,被回收删除。

方法2:
lst1.clear()               把原列表清空,列表内存地址不发生改变。
七、排序

注意:只有列表中元素类型相同才能进行排序。

7.1 按大小排序:sort() ①list.sort()会改变列表内元素位置
lst1 = [8,2,7,4,5]
lst1.sort()
print(lst1)

显示:

[2, 4, 5, 7, 8]

无参时默认从小到大排序

参数()reverse = True 将从大到小排序

lst1 = [8,2,7,4,5]
lst1.sort(reverse=True)
print(lst1)

显示:

[8, 7, 5, 4, 2]
②sorted(list)新复制一个列表进行排序
lst1 = [8,2,7,4,5]
print(sorted(lst1))
print(lst1)

显示:

[2, 4, 5, 7, 8]
[8, 2, 7, 4, 5]
7.2 将列表倒序 ①list.reverse()会改变列表内元素位置
lst1 = [8,2,7,4,5]
lst1.reverse()
print(lst1)

显示:

[5, 4, 7, 2, 8]
②reversed(list)新复制一个列表进行倒序排列
lst1 = [8,2,7,4,5]
print(reversed(lst1))
print(lst1)

显示:
      这个是列表类迭代对象,可以装入列表中
[8, 2, 7, 4, 5]

举例:
lst1 = [8,2,7,4,5]
lst2 = list(reversed(lst1))
print(lst2)

显示:

[5, 4, 7, 2, 8]
八、比较列表与字符串 8.1 列表与字符串的相互转换 ①字符串-->列表
s1 = "python"
lst = list(s1)                    会将字符串的每个字符都拆分出来,放入列表中
print(lst)    

显示:    

['p', 'y', 't', 'h', 'o', 'n']
②列表-->字符串

列表元素都是string形式,才能用这个方法连接起来。

lst = ['p','y','t','h','o','n']
s1 = ''.join(lst)
print(s1)

显示:

python
③注意,下面的方法无法转换得到连接起来的字符串
lst = ['p','y','t','h','o','n']
s1 = str(lst)
print(s1)
print(type(s1))

显示:

['p', 'y', 't', 'h', 'o', 'n']        并不是连接起来的字符串
8.2 关于可变不可变的比较 ①列表可变,lst[2] = 'i' ②字符串不可变,s[2] = 'i'   会报错

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5070734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存