2021-01-17

4.1 通用序列操作

4.1.1 索引

4.1.2 切片 

(类似于左闭右开区间)

注意元组的表示方式:(3)表示一个数字3;(3,)表示一个元组,里面有且只有一个元素3

获取非连续序列(默认情况下步长为“1”,步长参数不支持为“0”,支持负数步长)

x4 = (1,2,3,4,5,6,7,8,9)
print(x4[1::3])
(2, 5, 8)

4.1.3 序列相加

序列和序列之间通过“ + ”连接,连接后的结果还是相同类型的序列,不同类型的序列是不能连接的

4.1.4 序列重复

“ * ” 可以帮我们复制多份序列

4.1.5 成员资格 

“ in ” 运算符,注意只有当元素的类型和值都完全一致,才算包含在序列中如“5” 和“"5"”

print('5' in '1,2,3,4,5')
True

4.1.6 长度、最小值、最大值和求和

len()  min()  max()  sum()

注意sum函数求和的要求是序列的元素必须都是int,由于字符串序列的元素都是字符串,所以sum函数无法对字符串序列求和

 

4.2 列表

4.2.1 列表更新

一个列表可以存储不同类型的数据(区别于序列相加),并且修改的新元素也不需要和原来的元素类型一致

4.2.2 增加元素

append

无论后面是单个元素还是一个列表,都会把它当成一个新元素追加在原来的列表后面

extend

把新列表拆开追加在原来的列表后面

x1 = [1, 2, 3, 4, 5, 6, 7, 8]
x1.append([9, 10])
print(x1)
x2 = [1, 2, 3, 4, 5, 6, 7, 8]
x2.extend([9, 10])
print(x2)
[1, 2, 3, 4, 5, 6, 7, 8, [9, 10]]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

insert 

insert方法需要传递两个参数,第一个参数表示要插入的新元素的位置, 第二个参数表示要插入的元素

insert 和 append 一样,一次只能新增一个元素

x3 = [1, 2, 3, 4, 5]
x3.insert(2, 'hello')
print(x3)
[1, 2, 'hello', 3, 4, 5]

4.2.3 删除元素

pop

pop函数可以删除指定位置的与元素(删一个),并且把这个元素作为返回值返回,如果不指定位置则默认选择最后一个元素

x4 = [1, 2, 3, 4, 5]
r1 = x4.pop()
print(r1)
print(x4)
r2 = x4.pop(2)
print(r2)
print(x4)
5
[1, 2, 3, 4]
3
[1, 2, 4]


remove

remove会删除找到的第一个元素(删一个),并且没有返回值

x5 = [1, 5, 3, 4, 5, 5, 5, 5]
x5.remove(5)
print(x5)
[1, 3, 4, 5, 5, 5, 5]

del

x6 = [1, 2, 3, 4, 5, 5, 5, 5]
del x6[2:]
print(x6)
[1, 2]

4.2.4 查找元素

index

index索引出一个位置

x7 = [1, 4, 4, 4, 5, 6, 7]
print('4 index is', x7.index(4))
4 index is 1

4.2.5 
reverse

reverse可以反转队列,和 [::-1] 类似。但是reverse方法修改的是原来的队列,并且没有返回值, [::-1] 是临时复制出一个队列来操作,然后把这操作完的队列返回

count

count用于统计某个元素在列表中出现的次数

sort

sort用于对列表进行排列,还可以自定义排序方式

 

4.3 元组

元组与列表最大区别是列表可以修改、读取、删除,而元组创建后不能修改,不能删除单个元素,但可以删除整个元组

元组的查询速度比列表快

count 

index

 

4.4 字典

字典的每个元素都是由 :和键值对构成的,字典的间必须是唯一、不重复的

字典新增元素和修改元素的语法是一样的。新增元素时可先定义一个空字典

nglish = {
    'we': '我们',
    'world': '城市',
    'company': '公司'
}
english['world'] = '世界'
print(english)
{'we': '我们', 'world': '世界', 'company': '公司'}

english = {}
english['city'] = '城市'
{'city': '城市'}

删除元素时可用 del   clear

copy

copy方法类似于列表的[:]语法,相当于完整地复制了一份新的副本(注意copy进行的是浅拷贝,如果字典的元素值也是字典,那么copy只会影响最外层字典,元素内部还是引用)

fromkeys

fromkeys用于创建一个新字典

seq = ('name', 'age', 'class')
student1 = dict.fromkeys(seq)
print('默认', student1)
student2 = dict.fromkeys(seq, 1)
print('指定', student2)

默认 {'name': None, 'age': None, 'class': None}
指定 {'name': 1, 'age': 1, 'class': 1}

get

get不会因为键值对不存在而像使用索引获取键值对那样输出错误信息

print('we', english1['we'])
print('world', english1.get('world'))
print('city', english1.get('city'))
print('city', english1.get('city', '未知'))

we 我们
world 世界
city None
city 未知

keys  values  items

keys方法返回一个列表,里面包含了字典的所有键(该方法常用来判断一个键是否存在于字典中,与 in 组合使用)

values方法返回一个列表,里面包含了字典的所有值

items方法返回一个(类似)列表,里面包含了所有键的列表和所有值的列表

english2 = {
    'we': '我们',
    'world': '世界',
    'company': '公司'
}
print(english2.keys())
print('we' in english2.keys())
print('city' in english2.keys())

dict_keys(['we', 'world', 'company'])
True
False
print(english2.items())
dict_items([('we', '我们'), ('world', '世界'), ('company', '公司')])

由于字典不能直接用于for循环中,我们可以用items来遍历字典

english3 = {
    'we': '我们',
    'world': '世界',
    'company': '公司'
}
for k, v in english3.items() :
    print(k, '=>', v)

we => 我们
world => 世界
company => 公司
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值