
目录
编程中,我经常需要使用变量。当变量多的时候,直接创建不方便,此时我们需要使用列表/元组来存储多个变量。列表与元组的区别时元组中的元素不能修改。
一.列表
1.定义
用中括号[ ]存储不同变量(注意:C/C++中必须保证变量类型相同,而python中变量类型可以不同)
#空列表
#第一种:
a = []#一般使用这个,简洁方便
#第二种:
a = list()
2.初始化
a = [1,2,3,4,5]
print(a)

3.访问下标
每个变量有对应的下标,下标从左边第一个元素开始,0,1,2,3......(注意第一个元素下标时0而不是1)。我们通过下标就可以访问对应的元素了。
a = [1,2,3,4,5]
print(a[0])

(1)下标不能超过有效范围,否则会抛出异常。
(2)获得列表中元素个数,使用len函数。
a = [1,2,3,4,5,6]
print(len(a))

(3)下标可以为负数
-1 = len-1:即-1表示列表中最后一个元素
a = [1,2,3,4,5,6]
print(a[-1])
print(a[len(a)-1])

4.切片
通过切片,我们可以从列表中取出一组元素,相当于子列表。
[ : ]
1.
a = [1,2,3,4,5,6] print(a[1:3]) #数字代表下标 #单冒号 #左闭右开其中a[1:3]表示取出a列表中下标为1的元素到下标为3的元素,左闭右开(即包括下标为1的元素但不包括下标为3的元素)。
2.
有时可省略前后边界:
a = [1,2,3,4,5,6] print(a[1:]) #表示从下标为1的元素到最后一个元素 print(a[:-1])#表示从第一个元素到最后一个元素(不包括最后一个元素) print(a[:]) #表示全部元素
[ : : ]
可指定步长,即访问一个元素后,访问下一个元素与此元素之间“步数”。
1.步长为正数:从前往后取元素,每访问一个元素后下标自增几步。
a = [1,2,3,4,5,6,7,8,9] print(a[::1]) print(a[::2]) print(a[::3])
2.步长为负数:从后往前取元素,每访问一个元素后下标自减几步。
a = [1,2,3,4,5,6,7,8,9] print(a[::-1]) print(a[::-2]) print(a[::-3])
3.
a = [1,2,3,4,5,6,7,8,9] print(a[1:-1:2])
5.遍历列表元素
通过循环来得到列表中每个元素。
(1)for第一种(不改变列表中的元素)
a = [1,2,3,4,5,6,7,8,9]
for elem in a:
print(elem)
表示每次循环将a列表中的每个元素赋给elem变量,然后打印elem变量对应的值。
(2)for第二种(使用下标进行访问,可改变列表中的元素)
a = [1,2,3,4,5,6,7,8,9]
for i in range( 0 , len(a) ):
print(a[i])
(3)while(使用下标进行访问)
i = 0
a = [1,2,3,4,5,6,7,8,9]
while i < len(a):
print(a[i])
i += 1
6.新增元素
(1)append:列表尾插一个元素。
a = [1,2,3,4] a.append('hello') a.append('world') print(a)
(2)insert:向任意位置插入一个元素。
insert第一个参数为插入元素的下标。
a = [1,2,3,4,5] a.insert(1,'hello') print(a)
7.删除元素
(1)pop:
默认删除列表尾部一个元素:
a = [1,2,3,4,5] a.pop() print(a)
也可以按照下标删除指定一个元素:
a = [1,2,3,4,5] a.pop(1) print(a)
(2)remove
按照指定元素删除该元素:
a = [1,2,3,4,5] a.remove(5) print(a)
8.查找元素
(1)in:判断元素是否在列表中,返回值为布尔类型。
a = [1,2,3,4,5] print(3 in a) print(10 in a)
(2)index:查找元素在列表中的下标。若存在,则返回一个正数;若不存在,则抛出异常。
(注:C/C++/Java中,不存在则返回-1而不是报错)
a = [1,2,3,4,5] print(a.index(3))
9.修改列表中的元素
通过访问下标实现修改列表中的元素:
a = [1,2,3,4,5]
a[2] = 10
print(a)

10.连接列表
(1)+
返回生成的新列表而不影响旧链表。
a = [1,2,3] b = [4,5,6] c= a + b print(a) print(b) print(c)
(2)extend
a.extend(b):将b的列表连接在a的末尾,修改了a列表而不修改b列表。
a = [1,2,3] b = [4,5,6] a.extend(b) print(a) print(b)
(3)+=
a = [1,2,3] b = [4,5,6] a += b #a = a + b print(a) print(b)
注:与extend相比,中间过程多了构造新列表,新列表拷贝及释放新列表三步。
二.元组
1.定义
a = ()
2.初始化
a = (1,2,3)
print(a)

3.使用
相同:元组支持读操作,比如访问下标,切片,遍历,查找元素等。
不同:元组不支持修改操作,比如新增元素,删除元素,修改元素,连接元组等。
文章到这里就结束了,创造不易,如果喜欢的话点个关注,点个赞,谢谢大家














814

被折叠的 条评论
为什么被折叠?



