本文已参与「新人创作礼」活动,一起开启掘金创作之路。
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'>