组合数据类型|python

组合数据类型是指将多个数据有效组织起来并统一表示的数据类型。python中的组合数据类型可以分为序列类型(字符串、列表、元组)、集合类型(集合)、映射类型(字典).

字符串和元组是不可变序列,其余均是可变序列。学习组合数据类型时,重点要掌握如何创建、如何操作。

目录

列表

元组


列表

列表(list)是Python中一种有序的序列结构,也是最基本的数据结构,列表中可以存放不同类型的元素,序列中的每一个元素都会被分配一个位置数字---索引,正向从0递增,反向则从-1递减。

列表可以进行的操作有:创建、增加元素、删除元素、修改元素、索引、切片、排序。

1.创建列表

(1)使用方括号[ ]

L1 = [] #空列表
L2 = [1,2,3,4,5]
L3 = ['cat','dog',2022] #可以存放不同类型的元素
print(L1)
print(L2)
print(L3)

输出结果

[]
[1, 2, 3, 4, 5]
['cat', 'dog', 2022]

(2)使用list( )

L = list() #空列表
L1 = list(range(1,10,2))
L2 = list('python list') #字符串列表
print(L)
print(L1)
print(L2)

输出结果

[]
[1, 3, 5, 7, 9]
['p', 'y', 't', 'h', 'o', 'n', ' ', 'l', 'i', 's', 't']

2. 列表增加元素

(1)append()在列表末尾增加元素

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

输出结果

[1, 2, 3, 4, 5, 6]

(2)insert( )在列表指定位置添加元素

L = [1,2,4,5,6]
L.insert(2, 3) #insert(位置,元素)
print(L)

输出结果

[1, 2, 3, 4, 5, 6]

3.列表删除元素

(1)pop()用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。可指定位置删除元素,一次只能删除一个元素。

L = ['cat', 'dog', 'tiger', 2019,1024]
m = L.pop()
print(m)
print(L)
print(L.pop(1)) #指定位置删除
print(L)

输出结果

1024
['cat', 'dog', 'tiger', 2019]
dog
['cat', 'tiger', 2019]

(2)remove()指定删除列表中某一指定的数据,但仅可删除一个数据,不可删除多个数据

        该方法没有返回值,但会移除列表中待删除元素的第一个匹配项

L = ['cat', 'dog', 'tiger', 2019,1024]
m = L.remove(2019)
print(m)
print(L)

输出结果

None
['cat', 'dog', 'tiger', 1024]

3.列表修改元素:使用赋值的方法

L = [1,2,3,5,5,6]
L[3] = 4
print(L)

输出结果

[1, 2, 3, 4, 5, 6]

(3)del()函数

L = [1,2,3,4,5,6,7]
del L[1] #删除指定位置元素
print(L)
del L[1:4] #切片删除,end对应位置元素不删除
print(L)
del L  #删除整个列表

输出结果

[1, 3, 4, 5, 6, 7]
[1, 6, 7]

注 这个输出结果出现了一个问题,第二个输出应该包含元素5,但是结果却没有,但不要误以为删除的时候包含end位置对应的元素,这和del的底层原理有关,del删除的是变量,而不是数据,在前面一步中将L[1]删除了,列表的索引会发生改变,第二步中的L[1]就是‘3’了。

4.索引:正向从0递增,反向从-1递减

L = [1,2,3,4,5,6]
print(L[0])  #常用来找列表的第一个元素
print(L[-1])  #常用来找列表的最后一个元素
print(L[0:-1])

输出结果

1
6
[1, 2, 3, 4, 5]

5.列表的排序

(1)sort()函数:sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

语法

list.sort(cmp=None, key=None, reverse=False)
  • cmp -- 可选参数, 自定义排序方法。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
L = [7,9,2,4,10,8,6]
L.sort()  #默认升序
print(L)

M = ['e','a','u','o','i']
M.sort(reverse=True)   #降序排列
print(M)

输出结果

[2, 4, 6, 7, 8, 9, 10]
['u', 'o', 'i', 'e', 'a']

(2)reverse()函数:列表逆序排列

L = ['A','B','C','D','E']
L.reverse()  #无参函数
print(L)

输出结果

['E', 'D', 'C', 'B', 'A']

在使用该函数对一组数字排序时,没有得到想要的结果

元组

元组(Tuple)与python类似,但是元组中的元素不能修改,即元组是不可变列表。还有一点不同,列表使用方括号,元组使用圆括号。除了增、删、修改等可变操作以外,其他有关列表的操作对元组依然适用。在编程时,如果我们想让一部分内容不被修改时,可以使用元组。

1.创建元组

my_tuple = (1,'a',3.14,'python') #使用圆括号创建
print(my_tuple)
my_tuple1 = 1,'a',3.14,'python'  #使用逗号创建
print(my_tuple1)
my_tuple2 = tuple(my_tuple)      #使用tuple()创建
print(my_tuple2)

输出结果

(1, 'a', 3.14, 'python')
(1, 'a', 3.14, 'python')
(1, 'a', 3.14, 'python')

你可能感兴趣的:(python)