python四种数据结构

376 阅读3分钟

元组(值不可变)

1、访问元组中元素下标位置(index)

one =(1,"n","m")
print(one.index("n"))

2、访问值(one[index])

one =(1,"n","m")
print(one[1])

3、元组遍历

1、使用for直接遍历元素

2、使用enumerate遍历元素中的下标和值

one =(1,"n","m")
for i,j in enumerate(one):
    print((i,j))

4、元组常用属性

1、要是全部是数字,可以min()和max计算最小值和最大值

2、len(x)计算长度

3、统计元素的在元组中出现的次数count

one =(1,"n","m",1,2)
print(one.count(1))

4、切片

列表(值可变)

1、访问位置

index访问

a = [1,2,3]
print(a.index(2))

访问值

通过[]访问

a = [1,2,3]
print(a[2])

增删改

1、增

append()----->增加一个元素
extend()----->可增加多个元素
insert(i,x)-->在列表的第i项元素增加元素x

2、删

clear()------>删除列表中所有元素
pop(i)-------->返回列表中的第i项元素并删除该元素
remove(x)----->删除列表中出现的第一个x元素

还有一种删除del

a = [1,2,3]
del a[1]
print(a)

3、改(替换)

直接按照位置更改
a = [1,2,3]
a[1] = 7
print(a)

4、其他常用属性

reverse()-------->反转
sort()----------->排序
count()---------->a.count(x)统计x在列表a中出现的次数
copy()----------->复制,深拷贝(改变复制的值,原值不改变,地址也不一样)

字典(值可变----->(key,value))

1、访问key

通过keys,然后循环访问
a = {"one":50,"two":70,"three":80}
dic = a.keys()
for i in dic:
    print(i)

2.1、访问value,通过values,然后循环访问

a = {"one":50,"two":70,"three":80}
dic = a.values()
for i in dic:
    print(i)

2.2通过get访问值

a = {"one":50,"two":70,"three":80}
print(a.get("one"))

3增删改

3.1增

直接以键值对的形式增加
a = {"one":50,"two":70,"three":80}
a["four"] = 90
print(a)

3.2删

pop(key)------------->删除键值对
popitem()------------>随机取出一个键值对,以元组的形式返回,然后就去除了这个键值对
clear()-------------->去除所有键值对
del a["one"]----------->删除a字典中以one为key的键值对

3.3改

dicts.update(dicts2)---->更新字典,参考dict2为更新字典
更新特定位置的值(可单,可多个)
a = {"one":50,"two":70,"three":80}
a.update(one=70)
a.update(two=90,three=100)
print(a)

传一个或多个元组列表更新
a = {"one":50,"two":70,"three":80}
a.update([('one',90),('two',500)])
print(a)

4、字典常用属性

b = a.copy()---------->将a字典复制给b字典
b = a.items()--------->访问a的键值对,然后将键值对赋给b,这样就可以这样访问
a = {"one":50,"two":70,"three":80}
b = a.items()
for i,j in b:
    print(i,j)

集合(值可变)------->无序、不重复(就可以用于去掉重复值)

注:集合中的值只能是整数、浮点数、字符串等基本的数据类型,不可以是列表、元组、字典这些~ 1、增删

1.1增

a.add(x)----------------->如果x不在集合a中就增加

1.2删

a.remove(x)-------------->如果x在集合a中就删除,没有就抛出KeyError异常
a.discard(x)------------->如果x在集合a中就删除,没有就不报异常
a.pop()------------------>任意删除集合a中的一个元素

2、集合常用函数

a.isdisjoint(b) --------->判断集合是否相等,不相等返回True,相等返回False
len(a)-------------------->计算集合长度