Python、列表

一、列表

列表定义:一系列按特定顺序排列的元素组成。
在Python中,用方括号[]来表示列表,并用逗号来分割其中的元素。
example:
name = [‘zhangsan’,‘lisi’,‘wangmazi’]

name = ['zhangsan','lisi','wangmazi']
print(name)
#注意print(“name”)输出的是name,而不是列表。双引号表示name为字符,输出字符串本身,而不是name变量的值。

二、访问列表元素

列表是有序集合,访问列表元素,找到该元素的位置或者索引。
example:访问name中的zhangsan元素(zhangsna为name列表中第一个元素,索引为0)

print(name[0])

在这里插入图片描述
列表索引都是从0开始的,所以列表的长度len()比索引最大值始终大1

三、修改列表元素

(1)赋值修改
不能为一个不存在元素的位置赋值
example:

name[0]="zs"
print(name)
print(name[0])

在这里插入图片描述
(1)增加元素(列表末尾)
list.append(obj) list:列表名称 obj:增加的元素
example:

name.append("caocao")
print(name)

在这里插入图片描述
append()方法默认把新元素添加到列表末尾。

创建新的列表,可以先建立一个空列表,然后再用append()函数往空列表中添加一个个的元素。
(2)在列表中插入元素
list.insert(n,obj) list:元素名称 insert():插入函数 n:插入的位置(索引) obj:插入的新元素
example:

name.insert(0,"one")
print(name)
name.insert(2,"pipi")
name

在这里插入图片描述
(3)从列表中删除元素
del后面跟list : 删除整个列表
del后面跟list[n] 删除列表的第n个元素(n是从0开始,最小值可以为0)

(4)从列表中删除元素
list.pop() : 默认删除列表得最后一项元素
也可以在pop(obj)括号中添加索引obj,删除该索引对应的元素。
如果不确定列表删除用del或者pop(),看看该删除元素在后续操作中是否可以用到,如果后续还要使用,即使用pop()删除。否则用del。

>>> name=["one","zs","pipi","lisi","wangmazi","caocao"]
>>> name
['one', 'zs', 'pipi', 'lisi', 'wangmazi', 'caocao']
>>> del name[0]
>>> name
['zs', 'pipi', 'lisi', 'wangmazi', 'caocao']

>>> name.pop(0)
'zs'
>>> name
['pipi', 'lisi', 'wangmazi', 'caocao']
>>> 

(5)从列表中删除元素(根据元素值删除)
list.remove(obj)
obj为元素值
remove(obj),只删除第一个obj,如果列表中有多个重复的obj,也只是删除第一个obj
(6)统计元素出现次数
list.count(obj)
统计列表中obj元素出现的次数。

>>> a
[1, 2, 3, 4]
>>> a.count(1)
1

(7)extend()
用法:list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值。 seq要添加的元素列表的列表名称。

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

(8)index()
list.index(obj) 判断元素obj出现的位置,即obj的索引值。

(9)clear() 用于清空列表 相当于 del a[:]
用法: list.clear()

(10) copy 复制列表
list.copy() 此语法不需要导入参数。

四、组织列表

(1)排序
list.sort() 按特定顺序排列,对列表元素排列顺序的修改是永久性的。永久性排序
list.sort(reverse=True) 把list.sort()的排列顺序反转。

>>> name
['pipi', 'lisi', 'wangmazi', 'caocao']
>>> name.sort()
>>> print(name)
['caocao', 'lisi', 'pipi', 'wangmazi']
>>> name.sort(reverse=True)
>>> name
['wangmazi', 'pipi', 'lisi', 'caocao']
>>> 

(2)sorted(list) 临时排序 list为要做排序的列表
保留列表元素原来的排列顺序,同时以特定的顺序呈现他们,可使用函数sorted().

>>> name=['wangmazi', 'pipi', 'lisi', 'caocao']
>>> print('name.sorted()')
name.sorted()
>>> print("name.sorted()")
name.sorted()

>>> sorted(name)
['caocao', 'lisi', 'pipi', 'wangmazi']
>>> print(name2)
['caocao', 'lisi', 'pipi', 'wangmazi']
>>> name
['wangmazi', 'pipi', 'lisi', 'caocao']
>>> 

(3)倒着打印列表
list.reverse(),顾名思义,把原列表倒着打印出来,反转打印。永久性的修改列表顺序,只需要再次调用reverse()函数即可恢复到原来的顺序。

>>> name
['caocao', 'lisi', 'pipi', 'wangmazi']
>>> name.reverse()
>>> name
['wangmazi', 'pipi', 'lisi', 'caocao']
>>> 

(4)确定列表的长度len()
用法 len(列表名称)

>>> name
['wangmazi', 'pipi', 'lisi', 'caocao']
>>> len(name)
4

五、练习


>>> 旅游=["新疆","西藏","大兴安岭","江南","阿姆斯特丹","普罗旺斯"]
>>> print(旅游)
['新疆', '西藏', '大兴安岭', '江南', '阿姆斯特丹', '普罗旺斯']
>>> 旅游.sorted()
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    旅游.sorted()
AttributeError: 'list' object has no attribute 'sorted'
>>> sorted(旅游)           #注意sorted()的用法和sort()的用法,截然不同
['大兴安岭', '新疆', '普罗旺斯', '江南', '西藏', '阿姆斯特丹']
>>> 旅游
['新疆', '西藏', '大兴安岭', '江南', '阿姆斯特丹', '普罗旺斯']
>>> sorted(旅游)
['大兴安岭', '新疆', '普罗旺斯', '江南', '西藏', '阿姆斯特丹']
>>> 旅游.reverse()
>>> 旅游
['普罗旺斯', '阿姆斯特丹', '江南', '大兴安岭', '西藏', '新疆']
>>> sort(旅游)
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    sort(旅游)
NameError: name 'sort' is not defined
>>> 旅游.sort()
>>> 旅游
['大兴安岭', '新疆', '普罗旺斯', '江南', '西藏', '阿姆斯特丹']
>>> 

六 、列表操作

遍历列表
for
range(a,b) 输出a到b之间的元素,包括a,不包括b

a=["aa","bb","cc","dd"]
for i in a:
	print(i)  
>>> b=range(0,9)
>>> a=list(b)
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> max(a)
8
>>> min(a)
0
>>> len(a)
9
>>> sum(a)
36



>>> for i in range(1,20,2):
	print(i)

	
1
3
5
7
9
11
13
15
17
19
>>> for i in range(1,30):
	if(i%3==0):
		print(i)

		
3
6
9
12
15
18
21
24
27

切片

list[a🅱️x] 输出的列表包含a不包含b
list:列表名称 a:起始索引 b:结束索引 x:不常,相邻元素间的间距

>>> name=list(range(1,20))         #定义一个1到20的列表
>>> print(name)                    #打印输出列表
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> name
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> name[:]                       #列表list[ :]相当于list
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> name[1:10]                    #列表索引1到10的打印
[2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> name[1:10:3]                  #列表索引1到10跨度为3的元素打印
[2, 5, 8]
>>> name[0:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> name[-10:-1]                  #列表如果从右往左,最右边的元素索引为-1,索引依次从右往左为-1,-2......
[10, 11, 12, 13, 14, 15, 16, 17, 18]

不能为一个不存在元素的位置赋值。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值