Python中的集合和数学中的集合概念一致,包含0个或多个数据项的无序组合。用大括号{}表示,没有索引和位置的概念,集合中的元素可以动态增加或删除。
由于集合元素独一无二,可以使用集合删除重复元素
a={'www',223,223.6,'www'}
print(type(a))
print(a)
--输出
<class 'set'>
{223.6, 'www', 223}//重复元素www被删除,并且无序排列
s={1010,'python',78.9}
t={1010,'set',12.3,1010,1010}
print(s-t)
print(s&t)
print(s^t)
print(s|t)
--输出
{'python', 78.9}//差集
{1010}//交集
{12.3, 78.9, 'set', 'python'}//补集
{1010, 'set', 'python', 12.3, 78.9}//并集
s={1010,'python',78.9}
print(s)
s.add('AI')
print(s)
s.remove(1010)
print(s)
s.clear()
print(s)
print(len(s))
print(1010 in s)
print(1010 not in s)
--输出
{1010, 78.9, 'python'}//s集合
{'AI', 1010, 78.9, 'python'}//增加'AI'元素
{'AI', 78.9, 'python'}//删除1010元素
set()//执行clear后,s集合变为空集合
0//空集合长度为空
False//1010不在s中,返回false
True//1010不在s中,返回True
//set()函数示例
a=set()
s='知之为知之,不知为不知'
a=set(s)
print(a)
--输出
{'知', ',', '为', '之', '不'}
s=[1010,'python',78.9,1010]
print(s,type(s))
--输出
[1010, 'python', 78.9, 1010] <class 'list'>//列表不会删除重复元素,并且有序
s=[1010,'python',78.9,1010,[22,'33']]
print(s[4])
--输出
[22, '33']
s=[1010,'python',78.9,1010,[22,'33']]
for i in s:
print(i*2)
--输出
2020
pythonpython
157.8
2020
[22, '33', 22, '33']
s=[1010,'python',78.9,1010,[22,'33']]
print(s[1:3])
print(s[0:4:2])
--输出
['python', 78.9]
[1010, 78.9]
ls.append(x)仅用于在列表中增加一个元素,如果希望增加多个元素,可以使用+直接将两个列表合并。
s=[1,2,3,4,5,6,7]
s.append(8)
print(s)
t=[9,10,11,12]
print(s+t)
--输出
[1, 2, 3, 4, 5, 6, 7, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
//insert(i,x)函数用于在列表中第i个位置增加一个元素。
s=[1,2,3,4,5,6,7]
s.insert(4,10)
print(s)
--输出
[1, 2, 3, 4, 10, 5, 6, 7]
//pop(i)函数用于将列表中第i个元素取出并删除
s=[1,2,3,4,5,6,7]
s.pop(4)
print(s)
--输出
[1, 2, 3, 4, 6, 7]
//remove(x)函数用于将列表中出现的第一个x元素删除
s=[1,2,3,4,5,6,7,5]
s.remove(5)
print(s)
--输出
[1, 2, 3, 4, 6, 7, 5]
//reverse()函数用于将元素顺序翻转
s=[1,2,3,4,5,6,7]
s.reverse()
print(s)
--输出
[7, 6, 5, 4, 3, 2, 1]
s=[1,2,3,4,5,6,7]
del s[1:3]
print(s)
--输出
[1, 4, 5, 6, 7]
//使用=复制
//示例一
s=[1,2,3,4,5,6,7]
t=s
s.clear()
print(t)
--输出
[]//当s被删除,则t也为空
//示例二
s=[1,2,3,4,5,6,7]
t=s
s.pop(2)
print(t)
--输出
[1, 2, 4, 5, 6, 7]//当s被删除某个元素,则t也被删除
//使用copy函数复制
s=[1,2,3,4,5,6,7]
t=s.copy()
s.clear()
print(t)
--输出
[1, 2, 3, 4, 5, 6, 7]//当s被删除,t依旧存在
原因是当计算机保存列表时,保存的是地址,当使用=进行复制时,只是复制了计算机保存旧列表的地址,而不是复制的旧列表值。因此若对旧列表有操作,会影响新列表的值
s=[1,2,3,4,5,6,7]
s[2]='三'
print(s)
--输出
[1, 2, '三', 4, 5, 6, 7]
Python的元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组使用小括号(),列表使用方括号[]。
因为元组的元素无法修改,其方法只有count()和index()两种,因此,元组适合保存保密要求较高的数据。
s.count(x)函数可用于查询s元组中包含x元素的个数。
s.index(x)函数可用于查询s元组中x元素的第一个位置。
tuple()函数可以将其他数据类型转为元组。
s= {1:'A',2:'B',3:'C',4:'D',2:'E'}
print(s,type(s))
t= {1:'A',2:'B',3:'C',4:'D',5:'B'}
print(t,type(t))
--输出
{1: 'A', 2: 'E', 3: 'C', 4: 'D'} <class 'dict'>//键重复,删除
{1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'B'} <class 'dict'>//值重复,保留
d= {1:'A',2:'B',3:'C',4:'D',5:'E'}
s=dict()
print(len(d))
print(min(d))
print(max(d))
print(s,type(s))
--输出
5
1
5
{} <class 'dict'>
d= {1:'A',2:'B',3:'C',4:'D',5:'E'}
print(d.keys())
print(list(d.keys()))
print(d.values())
print(list(d.values()))
print(d.items())
print(list(d.items()))
--输出
dict_keys([1, 2, 3, 4, 5])
[1, 2, 3, 4, 5]//将键转为列表
dict_values(['A', 'B', 'C', 'D', 'E'])
['A', 'B', 'C', 'D', 'E']//将值转为列表
dict_items([(1, 'A'), (2, 'B'), (3, 'C'), (4, 'D'), (5, 'E')])
[(1, 'A'), (2, 'B'), (3, 'C'), (4, 'D'), (5, 'E')]//将键值对转为列表,每个元素为元组()
④d.get(key,default)根据键信息查找并返回值信息。如果key存在则返回相应值,否则返回默认值,第二个元素默认值default可以省略为空。
⑤d.popt(key,default)根据键信息查找并取出值信息。如果key存在则返回相应值,否则返回默认值,第二个元素默认值default可以省略为空。pop()在取出相应值后,将从字典中删除对应的键值对。
d= {1:'A',2:'B',3:'C',4:'D',5:'E'}
print(d.get(2))
print(d.get(6,'不存在'))
print(d.pop(2))
print(d)
--输出
B
不存在//不存在6键值,返回默认值‘不存在’
B
{1: 'A', 3: 'C', 4: 'D', 5: 'E'}//2键值对已被pop删除
⑥d.popitem()将随机从字典中取出一个键值对,以元组(key,value)形式返回。取出后从字典中删除这个键值对。
d= {1:'A',2:'B',3:'C',4:'D',5:'E'}
print(d.popitem())
print(d)
--输出
(5, 'E')
{1: 'A', 2: 'B', 3: 'C', 4: 'D'}
⑦d.clear()删除字典中所有键值对。如果希望删除字典中某一个元素,可以使用Python保留字del
。
d= {1:'A',2:'B',3:'C',4:'D',5:'E'}
del d[1]
print(d)
d.clear()
print(d)
--输出
{2: 'B', 3: 'C', 4: 'D', 5: 'E'}
{}
⑧ 字典也支持保留字in
,用来判断一个键是否存在字典中。如果在则返回True,否则返回False
for循环返回的变量名是字典的索引值(int型)。如果需要获得键对应的值,可以使用get(),或者使用[]直接取值。
d= {1:'A',2:'B',3:'C',4:'D',5:'E'}
for i in d:
print('字典的键为{},值为{}'.format(i,d[i]))#也可写作d.get(i)
# 输出
字典的键为1,值为A
字典的键为2,值为B
字典的键为3,值为C
字典的键为4,值为D
字典的键为5,值为E