Python基础 列表、元组的操作

本文详细介绍了Python中的两种序列数据类型——列表和元组。列表作为可变对象,提供了多种操作方法,如append、insert、remove、pop、count、sort等。元组则是不可变序列,可用于固定长度且不需修改的数据。文章还展示了如何对列表进行去重操作,并列举了元组的创建、访问和连接方法。同时,还展示了元组内置函数的使用,如len、max、min和转换为元组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.2 python的内置数据类型

数据类型是一种值的集合以及定义在这种值上的一组操作。在Python中,最基本的数据类型是序列。序列中的成员有序数列,都可以通过下标偏移量访问它的一个或几个成员。常见的序列有:字符串、列表和元组。

2.2.1 列表(LIST)

列表是Python中最具灵活性的有序集合对象类型。和字符串不同的是,列表具有可变长度、异构以及任意嵌套列表的特点。列表是可变对象,支持在原处修改。

1.列表的常用方法

(1)、L.append(v):把元素v添加到列表L的结尾,相当于a[len(a)] = v —>注意啊,这个是伪代码,帮助理解,不要深究哦~。

list = ['a','b','c']
print("第一次输出:",list)
list.append('zijun')
print("更新后的输出:",list)
#Output
#第一次输出: ['a', 'bc']
#更新后的输出: ['a', 'b','c', 'zijun']

(2)、L.insert(i,v):将值v插入列表的索引i处。

list = ['a','b','c']
print("第一次输出:",list)
list.insert(1,'zijun')
print("列表插入新元素的输出:",list)
#Output
#第一次输出: ['a', 'b', 'c']
#列表插入新元素的输出: ['a', 'zijun', 'b', 'c']

(3)、L.index(x):返回第一个值为x的索引。

list = ['a','b','c']
index = list.index('c')
print("c元素的索引是:", index)
#Output
#c元素的索引是: 2

(4)、L.remove(x):删除列表中的第一次找到‘x’的数值。

list = ['a','b','c','d','e','b']
print("第一次输出:",list)
list.remove('b')
print("删除后的新列表:" ,list)
#Output
#第一次输出: ['a', 'b', 'c', 'd', 'e', 'b']
#删除后的新列表: ['a', 'c', 'd', 'e', 'b'

(5)、L.pop([ i ]):从列表的指定位置删除元素,并将其返回。如果没有索引值,L.pop()返回最后一个元素。

list = ['a','b','c','d','e','b']
print("第一次输出:",list)
p = list.pop()
print("删除元素后的新列表:",list)
print("删除的元素:",p)
#Output
#第一次输出: ['a', 'b', 'c', 'd', 'e', 'b']
#删除元素后的新列表: ['a', 'b', 'c', 'd', 'e']
#删除的元素: b

(6)、L.reverse():倒排列表中的元素。

list = ['a','b','c','d','e','b']
print("第一次输出:",list)
list.reverse()
print("倒排后的新列表:",list)
#Output
#第一次输出: ['a', 'b', 'c', 'd', 'e', 'b']
#倒排后的新列表: ['b', 'e', 'd', 'c', 'b', 'a']

(7)、L.count(x):返回列表中指定数组的出现次数。

list = ['a','b','c','d','e','b','b','b','b','b','b','b']
print("第一次输出:",list)
sum = list.count('b')
print("重复字符出现的次数:",sum)
#Output
#第一次输出: ['a', 'b', 'c', 'd', 'e', 'b', 'b', 'b', 'b', 'b', 'b', 'b']
#重复字符出现的次数: 8

(8)、L.sort(key = None ,reverse = False):对链表中的元素进行适当的排序。reverse = True 为降序,reverse = False 为升序(也是默认排序)。

list = ['1','2','5','4','7','9','8','3','6']
print("第一次输出:",list)
list.sort(reverse=True)
print("降序输出:  ",list)
list.sort(reverse=False)
print("顺序输出:  ",list)
#Output
#第一次输出: ['1', '2', '5', '4', '7', '9', '8', '3', '6']
#降序输出:   ['9', '8', '7', '6', '5', '4', '3', '2', '1']
#顺序输出:   ['1', '2', '3', '4', '5', '6', '7', '8', '9']

专题:列表去重

1、去重后不需要按原先顺序排序

l = ['a','a','c','b','e','d','d','f']
nl = list(set(l))
print(nl)
#Output
#['f', 'c', 'd', 'b', 'a', 'e'],顺序跟set()有关,会时刻变化

2.去重后按照原顺序排序
2.1 直接使用set()构造器去重,再转换回列表,最后对新列表进行排序sort(key=list.index)

l = ['a','a','c','b','e','d','d','f']
nl = list(set(l))
nl.sort(key=l.index) # 按照原列表顺序排列
print(nl)
#Output
#['a', 'c', 'b', 'e', 'd', 'f']

2.2 for遍历原列表,如果新列表没有,就取一个元素就放一个元素到新列表中,这样顺序按照原列表的顺序排列。

l = [1,2,3,3,4,5,3,5,4,5,7]
nl = []
for item in l:
    if item not in nl:
        nl.append(item)
print(nl) 
#Output
#[1, 2, 3, 4, 5, 7]

2.3 itertools.grouby(list)函数去重,重新排序

import itertools

l = [1,4,3,3,4,2,3,4,5,6,1]
l.sort()
sl = itertools.groupby(l)
print(sl) # <itertools.groupby object at 0x000001D44000D588>
for k,obj in sl:
    print(k)
#Output
#1
#2
#3
#4
#5
#6

2.2.2 元组

元组是一种固定长度,不可变的Python对象序列。元组有很多用途,例如坐标(x,y),数据库中的员工记录等。元组和字符串一样,不可改变,即,不能给元组的一个独立的元素赋值。元组和列表不同之处在于元组的元素不能修改,而且,元组用()表示,列表用[ ]表示。与字符串的索引类似,元组的索引也是从0开始。

  1. 元组的创建:
tup = tuple('zijun') #创建一个元组tup
tup_demo = (1,2,3),(6,7) #创建一个元组tup_demo
print('输出元组tup:',tup)
print('输出元组tup_demo:',tup_demo)
#Output
#输出元组tup: ('z', 'i', 'j', 'u', 'n')
#输出元组tup_demo: ((1, 2, 3), (6, 7))
  1. 访问元组:
tup = tuple('zijun') #创建一个元组
print('输出元组tup:',tup)
for i in range(len(tup)):
    print("tup[%d] = " %i,tup[i])
#Output
#输出元组tup: ('z', 'i', 'j', 'u', 'n')
#tup[0] =  z
#tup[1] =  i
#tup[2] =  j
#tup[3] =  u
#tup[4] =  n

  1. 元组的拆分和连接
#元组的拆分
tup = tuple('zijun') 
print('输出元组tup:',tup)
a,b,c,d,e = tup
print("a,b,c = ",a,b,c)
#Output
#输出元组tup: ('z', 'i', 'j', 'u', 'n')
#a,b,c =  z i j

#元组的连接
tup = tuple('zijun') #创建一个元组
print('输出元组tup:',tup)
tup = tup + tuple('chenkk')
print('连接后输出元组tup:',tup)
#Output
#输出元组tup: ('z', 'i', 'j', 'u', 'n')
#连接后输出元组tup: ('z', 'i', 'j', 'u', 'n', 'c', 'h', 'e', 'n', 'k', 'k')

4. 元组内置函数:

方法描述
len(tuple)计算元组元素个数
max(tuple)返回元组中元素的最大值
min(tuple)返回元组中元素的最小值
tuple(seq)将列表转为元组

通过下面的例子来展示内置函数的使用:

tuple_one = ('Google', 'Runoob', 'Taobao')
#计算元组元素个数
len_size = len(tuple_one)
print(len_size)
#返回元组最大值和最小值
tuple_two = ('5', '4', '8')
max_size = max(tuple_two)
min_size = min(tuple_two)
print(max_size)
print(min_size)
#R将列表转为元组
list_demo = ['zijun', 'chenkk', 'wuhan', 'beijing']
tuple_three = tuple(list_demo)
print(tuple_three)
#Output
#3
#8
#4
#('zijun', 'chenkk', 'wuhan', 'beijing')

#上述案例,创建了一个包含3个元素的元组,
#之后调用 len 函数计算了元组中元素的个数,
#接着调用 max 和 min 函数分别获取了元组中
#最大和最小的元素,最后创建了一个列表,
#并通过 tuple 函数将列表转换为一个元组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值