5、初学python之列表、元组、字典等序列

python列表、元组、字典等序列


序列是 python 中最基本的数据结构。

python 有 6 个序列的内置类型,但最常见的是列表和元组。

列表

下面这些就是列表:

list1 = ["a","b","c","d"]
list2 = [1,2,3]
list3 = ["a",1,"2",1]

这些被中括号括起来的就是列表的值,我们称为元素。元素与元素之间用逗号分隔。

访问列表元素

访问列表中的元素可以使用下标索引,众所周知,程序员的计数方式是从0开始的,所以列表索引也是从0开始的。

lst = ["a","b","c","d"]
print(lst[0]) #输出a
print(lst[1]) #输出b
print(lst[2]) #输出c
print(lst[3]) #输出d
print(lst[4]) #报错,因为已经超出了列表的索引范围

访问列表的元素也可以从尾部开始

lst = ["a","b","c","d"]
print(lst[-1]) # 输出d
print(lst[-2]) # 输出c
print(lst[-3]) # 输出b
print(lst[-4]) # 输出a
print(lst[-5]) # 报错,因为已经超出了列表的索引范围

当然也可以一次性访问具体部分的元素

lst = ["a","b","c","d","e","f","g"]
print(lst[0:4]) # 访问第0个到第3个元素,注意,右边那个数是上限,是不访问的,输出['a', 'b', 'c', 'd']
print(lst[2:5]) # 访问第2个到第4个元素,输出['c', 'd', 'e']
print(lst[1:-2]) # 也可以用负数索引,访问第1个到第-2个元素,也就是倒数第2个,这个也是上限,是不包含的,输出['b', 'c', 'd', 'e']

增加列表元素

增加列表的元素有两种方法,一种是使用 list.append(obj),在列表的末尾添加新的元素对象;另一种是使用 list.insert(index,obj),指定位置添加新的元素对象。

list.append(obj) 是在列表末尾添加新的对象,其中参数obj就是新的对象,此函数没有返回值,是直接修改原来的列表

list.insert(index,obj) 是将指定对象插入列表的指定位置,其中参数index是需要插入的索引位置,obj是新的对象,此函数也没有返回值,是直接修改原来的列表。

list1 = ["a","b","c","d"]
print(list1) # 输出原来的列表,输出为['a', 'b', 'c', 'd']
list1.append("e") # 向列表末尾添加新的元素对象"e"
print(list1) # 输出新的列表,输出为['a', 'b', 'c', 'd', 'e']
list1.insert(2,"666") # 向列表索引为2的位置添加一个新的元素,原来的元素和之后的元素的索引都往右移一位
print(list1) # 输出新的列表,输出为['a', 'b', '666', 'c', 'd', 'e']

删除列表元素

删除元素可以使用del语句,只需要指定索引。

list1 = ["a","b","c","d"]
print(list1) # 输出原来的列表,输出为['a', 'b', 'c', 'd']
del list1[0] # 删除第0位元素
print(list1) # 输出新的列表,输出为['b', 'c', 'd']

更新列表元素

列表的元素值是可以直接进行修改的,只需要指定索引。

list1 = ["a","b","c","d"]
print(list1) # 输出原来的列表,输出为['a', 'b', 'c', 'd']
list1[0] = "666" # 修改list1列表的第0位元素,修改为666
print(list1) # 输出原来的列表,输出为['666', 'b', 'c', 'd']

列表脚本操作符

表达式结果描述
len([1, 2, 3])3获取列表的长度,即列表的元素个数
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]将两个列表组合起来
[“a”] * 4[“a”, “a”, “a”, “a”]重复一个列表
3 in [1, 2, 3]True判断元素是否存在于列表中

当然还有循环迭代输出列表:

for i in [1,2,3]:
    print(i)

输出为:

1
2
3

列表的函数和方法

函数

函数描述
len(list)列表元素的个数
max(list)返回列表元素最大值
min(list)返回列表元素最小值
list(seq)将元组转换为列表

方法

方法描述
list.append(obj)在列表末尾添加新对象
list.count(obj)统计某个元素在列表中出现的次数
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)将对象插入列表
list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)移除列表中某个值的第一个匹配项
list.reverse()反向列表中元素
list.sort(key=None, reverse=False)对原列表进行排序
list.clear()清空列表
list.copy()复制列表

元组

python的元组和列表的增删改查差不多,不同之处是元组的元素不能修改。

元组使用小括号。

tup1 = ("a","b","c","d")
tup2 = (1,2,3,4)

增删改查

tup1 = ("a","b","c","d","e","f","g")
tup2 = ("h","i","j","k")
# 访问元组中的元素
print(tup1[0]) # 访问第0个元素,输出a
# 修改元组中的元素
# tup1[0]="666" 这样子是不可以的
tup3 = tup1 + tup2 # 对元组进行连接组合,输出('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k')
# 元组中的元素是不能删除的,但是可以删除整个元组
del tup2 # 删除后,tup2就不能被访问了,因为已经被删除了

元组运算符

表达式结果描述
len((1,2,3))3计算元素个数
(1,2,3) + (4,5,6)(1, 2, 3, 4, 5, 6)连接
(“a”,) * 4(“a”,“a”,“a”,“a”)复制
3 in (1,2,3)True判断元素是否存在

当然,元组也可以和列表一样被迭代遍历。

for i in (1,2,3):
    print(i)

元组的函数

函数描述
len(tuple)计算元组元素个数。
max(tuple)返回元组中元素最大值。
min(tuple)返回元组中元素最小值。
tuple(iterable)将可迭代系列转换为元组。

字典

字典的一般形式为:

d = {key1:value1, key2:value2, key3:value3}

其中,key叫做键,value叫做值,一个key和value叫做键值对,键和值之间用冒号分隔,每个键值对之间用逗号分割,整个字典用花括号括起来。需要注意的是,键在字典中是唯一的,即没有相同的值,而值是可以取任意值。

访问字典的值

dict = {"name":"小明", "age":15, "sex":"男"}
print(dict["name"]) # 访问字典中键为name的值,输出小明

如果访问的是不存在的键,那么就会报错。

修改字典

dict = {"name":"小明", "age":15, "sex":"男"}
# 修改字典中键的值
dict["age"] = 16 # 将键age的值改为16
print(dict["age"]) # 输出16
# 增加字典中的键值
dict["phone"] = "12345678900" # 向字典中添加一个键和值
print(dict) # 输出{'name': '小明', 'age': 16, 'sex': '男', 'phone': '12345678900'}

删除字典元素

能够删除单一的元素,也能清空字典,还可以删除整个字典。

dict = {"name":"小明", "age":15, "sex":"男"}
del dict["sex"] # 删除键name
dict.clear() # 清楚字典
del dict # 删除字典

字典的函数和方法

函数描述
len(dict)计算字典元素个数,即键的总数。
str(dict)输出字典,以可打印的字符串表示。
type(variable)返回输入的变量类型,如果变量是字典就返回字典类型。
方法描述
dict.clear()删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key, default=None)返回指定键的值,如果键不在字典中返回 default 设置的默认值
key in dict如果键在字典dict里返回true,否则返回false
dict.items()以列表返回可遍历的(键, 值) 元组数组
dict.keys()返回一个迭代器,可以使用 list() 来转换为列表
dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2)把字典dict2的键/值对更新到dict里
dict.values()返回一个迭代器,可以使用 list() 来转换为列表
pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem()随机返回并删除字典中的最后一对键和值。

作者:阿涛
CSDN博客主页:https://blog.csdn.net/qq_43313113
如有不对的地方,欢迎在评论区指正
欢迎大家关注我,我将持续更新更多的文章


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值