Python的列表、元组、字典

列表

列表是Python中最基本的数据结构。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个列表的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定列表的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型。

list = [('a', 'A'), ('b', 'B'), ('c', 'C')]
for x in list:
    print(x)
for x, y in list:
    print(x, y)

枚举:

enumerate 枚举 : 可以让被遍历元素 添加一个编号(索引值)

for后面的第一个参数 即为索引值  第二个参数 为被遍历的元素

for x, y in enumerate(list):
    print(x, y)
for x, (y, z) in enumerate(list):
    print(x, y, z)
list = [(1, [2, 3]), (4, [5, 6]), (7, [8, 9])]
for index, (x, [y, z]) in enumerate(list):
    print(index, x, y, z)
extend函数

列表和字符串一样可以进行拼接;

extend 将被合并的集合的所有值给 主动进行合并的集合
最终结果为 两个集合的元素个数的综合
它和append类似但又有不同;
append 将被合并的集合作为一个整体给 主动进行合并的集合
最终结果为 主动进行合并的集合元素个数等于之前的个数+1

list1 = ['a', 'b', 'c']
list2 = ['d', 'e', 'f']
list3 = list1 + list2
print(list3)
# extend 扩展,添加
list1.extend(list2)
print(list1)

startswith方法

startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。

list = ['张三', '张飞', '张良', '赵子龙', '关云长']
list5 = [x for x in list if x.startswith('张')]
print(list5)
reverse函数

reverse() 函数用于反向列表中元素。

list = ['1', '2', '3']
# reverse() 相反的
list.reverse()
print(list)
sum函数

sum() 方法对系列进行求和计算。

list = [1, 2 ,3 ,4 ,5,6,7,8,9,10]
some = 0
for x in list:
    some += x
print(some)
result = sum(list)
print(result)

sorted 函数

sorted() 函数对所有可迭代的对象进行排序操作。

sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

获取正序:

list = [2, 3, 1, 5, 7, 10, 9, 8, 6, 4]
list2 = sorted(list)
print(list2)

获取反序:

list = [2, 3, 1, 5, 7, 10, 9, 8, 6, 4]
# revsrse 倒序  默认值为Flase
list2 = sorted(list, reverse=True)
print(list2)

列表元素的索引与遍历

list = [
    [
        ['a'],  # [0][0][0]
        ['b']  # [0][1][0]
    ],
    [
        ['c'],  # [1][0][0]
        ['d']  # [1][1][0]
    ],
    [
        ['e'],  # [2][0][0]
        ['f']  # [2][1][0]
    ]
]
print(list[2][0][0])
list1 = [[1], [2], [3],[4],[5]]
for x in list1:
    for y in x:
        print(y)

两种方法遍历:

list = [
    [
        ['a'],
        ['b']
    ],
    [
        ['c'],
        ['d']
    ],
    [
        ['e'],
        ['f']
    ]
]
# 方法1:
for x in list:
    for y in x:
        for z in y:
            print(z)
# 方法2:
for x , [[y],[z]] in enumerate(list):
    print(y,z)

元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
创建元组的两种方式:

tp1 = ()
tp2 = tuple()
如果元组在创建的时候没有放入元素
那么这个元组就没有意义

元组和列表的区别:
列表可以任意进行增删改查等操作
元组只可以进行 查 操作

tp = ('a','b','c','d')
if 'a' in tp:
    print('存在')
else :
    print('不存在')

len函数

Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。

tp = ('a','b','c','d')
print(len(tp))

字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 。
键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

声明字典两种方式:

dic1 = {}
dic2 = dict()

获取字典的元素:

dic3 = {
    'name':'小明',
    'age':'18',
    # True代表男还是女  是你自己定义的
    'sex':True,
    'height':1.76,
    'fond':['打游戏','学习','写代码','写博客']
}
print(dic3)
print('爱好:%s'%dic3['fond'])
修改字典的元素:
dic3 = {
    'name': '小明',
    'age': '18',
    # True代表男还是女  是你自己定义的
    'sex': True,
    'height': 1.76,
    'fond': ['打游戏', '学习', '写代码', '写博客']
}
# 有的话 修改;没有的话 则增加
dic3['age'] = 18
print(dic3['age'])
dic3['girlFriend'] = '奶茶妹'
print(dic3)
#删除girlFriend
dic3.pop('girlFriend')
print(dic3)
获取字典中的键和值:
dic3 = {
    'name': '小明',
    'age': '18',
    'sex': True,
    'height': 1.76,
    'fond': ['打游戏', '学习', '写代码', '写博客']
}
print(dic3.keys())
print(dic3.values())

判断字典中的键是否存在:

dic3 = {
    'name': '小明',
    'age': '18',
    'sex': True,
    'height': 1.76,
    'fond': ['打游戏', '学习', '写代码', '写博客']
}
if 'fonds' in dic3.keys():
    print('fonds存在')
else:
    print('fonds不存在')

判断字典中的值是否存在:

dic3 = {
    'name': '小明',
    'age': '18',
    'sex': True,
    'height': 1.76,
    'fond': ['打游戏', '学习', '写代码', '写博客']
}
if ['打游戏', '学习', '写代码', '写博客'] in dic3.values():
    print('存在')
else:
    print('不存在')
获取key和value值:

有两种方法可以获取key和value值;

dic4 = {
    'name' : '小兰',
    'age': '12',
    'fond':'美食',
    'info':{
        'description':'很好的一个人',
        'phone':'123123123',
        'frend':[
            {
                'frend_name':'小明',
                'frend_age':12
            },
            {
                'frend_name':'小王',
                'frend_age':12
            },
            {
                'frend_name':'小张',
                'frend_age':12
            },
            {
                'frend_name':'小沈',
                'frend_age':12
            }
        ]
    }
}
# 获取key和value值的第一种方法
for key in dic4:
    value = dic4[key]
    print(key,value)
# 获取key和value的第二种方法     (推荐这种写法)
for key , value in dic4.items():
    print(key,value)

如果获取一个没有的key会报错。

获取key对应的值  如果没有key  则赋予一个默认值

# 值1:key
# 值2:默认值
value = dic4.get('class','三年级二班')
print(value)

猜你喜欢

转载自blog.csdn.net/qq_42543312/article/details/80861298