一、列表 list
用 [ ]括起来的表示列表,列表当中的元素用逗号(,)隔开。
1.0 创建列表
a=[1,8,6,5] #直接创建
b=list("hello changsha") #使用list()函数转换
1.1 列表的赋值
使用下标索引,索引从0开始
>>> a=[1,8,6,5]
>>> a[0]=4
>>> a
[4, 8, 6, 5]
1.2 删除元素 del()
>>> del a[0]
>>> a
[8, 6, 5]
1.3 列表的常用函数与方法
方法名 | 描述 |
---|---|
append() | 在列表尾部追加元素 |
clear() | 移除列表的所有元素 |
count() | 计算列表中某元素出现的次数 |
copy() | 列表L的备份 |
extend() | 将列表x扩充到列表L中 |
index() | 计算在指定范围内value的下标 |
insert() | 在下标index的位置插入x |
pop() | 返回并删除下标为index的元素,默认是最后一个 |
remove() | 删除值为value的第一个元素 |
reverse() | 倒置列表L |
sort() | 对列表元素排序 |
示例如下:
>>> a
[8, 6, 5]
>>> a.append(6)
>>> a
[8, 6, 5, 6]
>>> a.extend([55,66])
>>> a
[8, 6, 5, 6, 55, 66]
>>> a.insert(3,88)
>>> a
[8, 6, 5, 88, 6, 55, 66]
>>> a.remove(5)
>>> a
[8, 6, 88, 6, 55, 66]
>>> a.pop(2)
88
>>> a
[8, 6, 6, 55, 66]
>>> a.reverse()
>>> a
[66, 55, 6, 6, 8]
>>> a.index(55)
1
1.4 字符串与列表的相互操作
1.4.0 拆分字符串函数 split()
如果split()不带参数,那么将以空格作为分隔符
>>> a="hello changsha"
>>> a.split()
['hello', 'changsha']
1.4.1 聚合字符串函数 join()
>>> a=['hi','hello','chang','sha']
>>> ''.join(a)
'hihellochangsha'
>>> ','.join(a)
'hi,hello,chang,sha'
二、元组(tuple)
与列表的区别有俩点:1,列表使用的[ ] 元组使用的( ) 2,元组的值不可修改
2.0 创建元组,直接创建
>>> a=(10,20)
>>> a
(10, 20)
2.1 使用tuple( ) 可以转换元组
>>> a=tuple(['5','8','900'])
>>> a
('5', '8', '900')
因为元组不可进行修改操作,所以append()等操作不可实现
相比之下有count() index()函数能够被实现
三、集合 set 使用的是 { }
集合具有的性质 :无序性 和 唯一性
3.1 创建集合
>>> s={1,2,3,4,5}
>>> s
{1, 2, 3, 4, 5}
#使用set函数转换
>>> s1=set([1,2,4,5])
>>> s1
{1, 2, 4, 5}
3.2 操作和访问集合的元素
add() remove() min() max() len() sum()
因为集合内的元素是无序的,所以不能通过下标进行访问
>>> s
{1, 2, 3, 4, 5, 6}
>>> s.add(7) #添加一个元素到s集合
>>> s
{1, 2, 3, 4, 5, 6, 7}
>>> s.remove(6)#删除一个元素
>>> s
{1, 2, 3, 4, 5, 7}
>>> min(s)#求最小值
1
>>> max(s)#求最大值
7
>>> len(s)#求该集合的长度
6
>>> sum(s)#求和
22
#使用for循环遍历一遍集合
>>> for i in s:
print(i)
1
2
3
4
5
7
3.3 元素、子集、超集和相等判断
#判断一个元素是否在集合内,返回值只能是 true 和 false
>>> 3 in s
True
>>> 10 in s
False
#俩个集合之间的判断
>>> s
{1, 2, 3, 4, 5, 7}
>>> s1
{1, 2, 4, 5}
>>> s1==s
False
>>> s1<s
True
>>> s1>s
False
#俩个集合之间的运算
#求并集 |
>>> s | s1
{1, 2, 3, 4, 5, 7}
#求交集 &
>>> s & s1
{1, 2, 4, 5}
#求差集 -
>>> s - s1
{3, 7}
# 求对称差:除了共同有的元素的其他元素构成一个新的集合
>>> s^s1
{3, 7}
四、字典
4.0 定义字典,字典是由 键-值 组成的
#定义一个字典s,并使用[键]访问
>>> s={"一":1,"二":2}
>>> s
{'一': 1, '二': 2}
>>> s["一"]
1
#对字典进行添加、删除以及修改操作
>>> s["三"]=3 #修改值同理,如果字典中没有这个键则添加,有的话即为修改
>>> s
{'一': 1, '二': 2, '三': 3}
#删除使用del
>>> del s["一"]
>>> s
{'二': 2, '三': 3}
4.1 字典的遍历
>>> for num in s :
print(s[num])
2
3
五、随机函数库
5.0 导入包 import ramdom 生成的随机数是伪随机数
5.1 部分函数及其描述
函数名 | 描述 |
---|---|
random.ramdom | 生成一个介于0到1的左闭右开的浮点数 |
random.uniform(a,b) | 生成一个介于a到b的的浮点数 |
random.randint(a,b) | 生成一个介于a到b的的整数 |
random.randrange() | 从指定范围内获取一个随机数 |
random.choice() | 从序列当中获取一个元素 |
random.shuffle() | 把列表打乱,即随机排列 |
random.seed(x) | 给定一个种子x |
示例如下:
>>> import random
>>> a=['1','5','8','6','9']
>>> random.random()
0.6211587030798253
>>> random.uniform(1,5)
3.5532231516146418
>>> random.randint(1,100)
56
>>> random.randrange(1,100,5)
41
>>> random.choice(a)
'9'
>>> random.shuffle(a)
>>> a
['9', '6', '8', '1', '5']
>>> random.seed(5)
>>> random.random()
0.6229016948897019