python的组合数据类型

2021-05-23  本文已影响0人  倔犟的贝壳

集合

多个元素的无序组合

集合中不存在相同的元素,每个元素唯一,不可更改

集合使用{} 或set()函数创建,如果要创建一个空集合,必须使用set函数
。因为{} 是用来创建空字典的

S = {2,4,6,8}
S1 = set("2468")
emptySet = set()
print("{} {} {}".format(S,S1,emptySet))
{8, 2, 4, 6} {'2', '8', '4', '6'} set()

集合操作符

IMG_0199.jpg
A = {"p","y","123"}
B = set("pypy123")
A-B
{'123'}
A&B
{'p', 'y'}
A|B
{'1', '123', '2', '3', 'p', 'y'}
print(A^B)
{'2', '3', '1', '123'}

集合的处理方法

S.add(x)

S.discard(x) 从集合S中移除一个元素,x不在S中,程序不会异常

S.remove(x) 从集合S中移除一个元素,若x不在S中,将产生异常

S.clear() 清空整个集合

S.pop() 取出第一个元素,并从集合中删除

S.copy() 复制一个集合

A = {"p","y","123"}
A.add('python')
A
{'123', 'p', 'python', 'y'}
A.discard('123')
A
{'p', 'python', 'y'}
A.remove('123')
---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

<ipython-input-108-384dad4bdbbd> in <module>
----> 1 A.remove('123')


KeyError: '123'
A.discard('123')
A
{'p', 'python', 'y'}
A.pop()
'p'
A.copy()
{'python', 'y'}
A.clear()

集合的遍历

A = {"p","y","123"}
for item in A:
    print(item, end=" ")
A
p 123 y 




{'123', 'p', 'y'}
A = {"p","y","123"}
try:
    while True:
        print(A.pop(),end=" ")
except:
    pass

A
p 123 y 




set()

应用场景

1、包含关系的比较

2、数据去重

包含关系的比较

S = set("123456789")
S1 = set("9468")
print(S)
print(S1)
S > S1
{'8', '7', '1', '5', '9', '6', '2', '3', '4'}
{'8', '4', '9', '6'}





True

数据去重

ls = ["p","p","y","y",123]
s = set(ls)
print(s)
{'p', 123, 'y'}

序列

一组有序数据的集合
包括字符串、列表、元组

基本操作符

元组

一旦创建就不能修改

使用小括号() 或 tuple()创建,元素之间逗号,分隔

使用时可以使用或不适用小括号

creature = ("cat","dog","tiger")
creature
('cat', 'dog', 'tiger')
creature[0] = "bird" #试图修改元组将会产生错误
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-119-03dbaa2c484e> in <module>
----> 1 creature[0] = "bird" #试图修改元组将会产生错误


TypeError: 'tuple' object does not support item assignment

列表

数据的有序排列组合
使用[] 或 list()创建

ls = ['cat','dong','tiger','human']
ls[1:2] = [1,2,3,4]
print(ls )
['cat', 1, 2, 3, 4, 'tiger', 'human']
del ls[::3]
print(ls)
[1, 2, 4, 'tiger']
ls*2
[1, 2, 4, 'tiger', 1, 2, 4, 'tiger']

上一篇 下一篇

猜你喜欢

热点阅读