Python中组的定义和操作

88 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Python中组的定义和相关操作

1、列表(list)

列表的定义

>>> type([1,2,3,4,5,6,])
<class 'list'>
>>> ["hello ","world",1,2,3,True,False]
['hello ', 'world', 1, 2, 3, True, False]
>>> type([1])
<class 'list'>

嵌套列表

>>> [[1,2,3],[True,False]]
[[1, 2, 3], [True, False]]

访问列表

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

向列表中添加元素

>>> a=[1,2,3,4,5,6]
>>> a.append(2)    #用append方法在a列表结尾添加元素
>>> print(a)
[1, 2, 3, 4, 5, 6, 2]
>>> a.insert(1,2)  #用insert方法在a列表指定位置添加元素
>>> print(a)
[1, 2, 2, 3, 4, 5, 6, 2]

修改列表中的元素

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

两个列表的合并

>>> [1,2,3,4,5,6]+[7,8]
[1, 2, 3, 4, 5, 6, 7, 8]

列表乘法

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

2、元组(tuple)

元组的定义

(1,2,3,4,5,6)
>>> (1,2,'-1',True)[1]
2
>>> type((1,2,3))
<class 'tuple'>

定义一个空元组

>>> type(())
<class 'tuple'>

定义只有一个元素的元组

>>> type((1))      #数据类型为int
<class 'int'>
>>> type((1,))     #特殊的定义方式
<class 'tuple'>

str list tuple 等序列都可以进行访问,切片,乘,加,合并的操作

切片

>>> "hello world "[0:8:2]      #从第0到第8的元素,间隔截取
'hlow'

判断3是否在/不在序列中

>>> 3 in [1,2,3,4,5,6]
True
>>> 3 not  in [1,2,3,4,5,6]
False

统计序列中的元素

>>> len([1,2,3,4,5,6])
6
>>> len((1,2,3))
3

求序列中最大值,最小值(max,min)

>>> max([1,2,3,4])
4
>>> min([1,2,3,4])
1
>>> max("hello world")     #英文字母以ASSCII码比较大小
'w'
>>> min("hello world")
' '
>>> ord('w')               #查看ASSCII码
119
>>> ord(' ')
32

元组中的元素不能修改和删除,但可以用del语句删除整个元组

>>> a=(1,2,3,4,5)
>>> print(a)
(1, 2, 3, 4, 5)
>>> del(a)
>>> print(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

元组与列表的区别

列表:可更改元素的值
元组:不可更改元素的值

3、集合(set)

集合的定义(集合具有无序性,没有下标索引这种访问方式)

>>> type({1,2,3,4,5,6,})
<class 'set'>

集合中的元素不能重复

>>> {1,2,2,3,3,4,5,5}
{1, 2, 3, 4, 5}

求差集(删除一个集合中在另一个集合中存在的元素)

>>> {1,2,3,4,5}-{3,4}
{1, 2, 5}

求交集(找两个集合中共同的元素)

>>> {1,2,3,4,5}&{3,4}
{3, 4}

求合集/并集(合并两个集合,并且不出现两个相同的元素)

>>> {1,2,3,4,5}|{3,4,7}
{1, 2, 3, 4, 5, 7}

定义一个空的集合

>>> type({})      #定义的是一个空字典,不是空集合
<class 'dict'>

>>> type(set())   #用set()来定义空集合
<class 'set'>
>>> len(set())
0

4、字典(dict)

字典的定义

基本格式:{key1:value1,key1:value1,...}
>>> type({1:1,2:2,3:3})
<class 'dict'>

字典的访问

>>> {'a':1,'b':2,'c':3}
{'a': 1, 'b': 2, 'c': 3}
>>> {'a':1,'b':2,'c':3}[0]         #不能通过下标来访问字典
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 0
>>> {'a':1,'b':2,'c':3}['a']      #通过key来访问
1

字典中不能存在相同的key,key值中数字1和字符串1是两个不同的key值

>>> {1:1,'1':2,'c':3}['1']
2
>>> {1:1,'1':2,'c':3}[1]
1

字典中value值可以为str,int,float ,list,set,dict没有限制,可以是任意类型

key值必须是不可变的类型

>>> {[1,2]:1,'1':2,'c':3}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> {(1,2):1,'1':2,'c':3}[(1,2)]
1

定义空的字典

>>> type({})
<class 'dict'>