数据类型之列表和元组

一、列表

  作用:按位置存放多个值,使用“,”分隔开,使用索引取值

  类型转换:但凡能够被for循环遍历的类型都可以当做参数传给list()转成列表

  内置方法:

    1.按索引取值(优先)

l=['a','23','world']  #按索引取值
print(l[0])
l[1]=98  # 按索引改值
print(l[1])

l=['a','23','world']  # 追加
l.append('china')  # 向列表加值
print(l)

l=['a','23','world']  # 插入值
l.insert(1,'hello')  # 在列表的索引1前面加“hello”
print(l)

l=['a','23','world']
new_l=[1,2,3]
l.extend(new_l)  # 迭代添加值
print(l)  # ['a', '23', 'world', 1, 2, 3]

l=['a','23','world']  # 删除值
l.pop(0)  # 根据索引删除列表中的值,不指定索引默认删除最后一个,
l1=l.pop(0)  # 返回删除的值
print(l)
print(l1)

l=['a','23','world']
l.remove('a')  # 根据元素删除,返回none
print(l)

    2.切片(优先)

l=['a','23','world']
print(l[0:len(l)])   # 把完整的列表取一遍
l111=l[:]  # 等同于copy行为(浅copy)
print(l[:])
l=['a','23','world']
print(l[0:len(l)])   # 把完整的列表取一遍
l111=l[:]  # 等同于copy行为(浅copy)
print(l[:])
print(l[::-1])  # 快速把列表倒过来

print(len([1,2,3]))  # 统计列表元素的个数

print('a' in l)
print('a' not  in l)

    3.需要学习

l=['a','23','world']
l.count('a')
print(l.count('a'))   # 统计’a'在列表中出现了几次

print(l.index('a'))  # 查找元素在列表中的索引,如果找不到运行结果会报错

l.clear()  # 清楚列表的所有的元素
print(l)

l.reverse()  # 将列表倒过来
print(l)

l.sort()  # 默认从小到大排序(升序# ) 列表内的元素必须是同种类型的才可以排序(字符串可以比大小(按照ASCI码表的先后顺序区别字符串的大小))
l.sort(reverse=True)  # 默认从大到小排序(降序)  列表内的元素必须是同种类型的才可以排序
# 列表之间也可以比大小

二、元组

    就是“一个不可变的列表”;按照索引存放多个值,只用于取,不用于改(改变内存地址)。

    定义:()内用逗号分隔开多个类型的元素。

t=(10,)  # 如果元组中只有一个值要这样表示
print(t)

    类型转换  (tuple)

      按引索取值、切片、长度、循环 与列表一模一样

    内置方法:

t=(12,23,14,4,'a','b')
print(t.index(4))  # 找到元组中值按索引返回
print(t.count(4))  # 统计元组中的4 有几个

三、字典

  使用key存多个字;用{}内用逗号分隔开key:value,其中value可以是任意类型,但是key必须是不可变类型,且不能重复。

dict={}  # 默认出来的是一个空字典
d=dict(x=1,y=2,z=30)  # 定义字典的其他方式,方式1
print(d)  # {'x': 1, 'y': 2, 'z': 30}
# 方式2
A =[
('name','ake'),
['age',18],
('money',1232)
]
res=dict(A)
print(res)

#方式3
keys=['name','age','weight']  # 用列表中的字符串做字典的key
d={}.fromkeys(keys,None)
print(d)

    内置方法(优先):

# 按key存取值
d={'key':111}
# 赋值操作
d=['key']=212,#若key存在则修改,不存在则创建新的值
# 长度len
d={'name':'jake','age':18,'weight':50}
print(len(d))
in / not in
d={'name':'jake','age':18,'weight':50}
print('name'in d)
print('name'not in d)
# 删除
del d['name']  # 删除时要删除key
d.pop('name')  # 根据key删除,返回key对应的value
d.popitem()  # 随机删除,返回删除的key和对应的value

    其他(需要):

d={'name':'jake'}
d.clear() #清除字典
d.update({'name':'jake','age':18,'weight':50})  # 用新的字典覆盖原来的字典
d.get()  # key存在,返回返回对应的value值;不存在,返回None。容错性更好

if 'age' in d:  # 往字典里面添加key:value
    ...
else:
    d['age']=18
print(d)
d.setdefault('age',18)  # 一行代码搞定上面的内容,(执行完成之后返回key对应的value)
print(d)

 

posted @ 2021-01-01 23:19  HolmesWu  阅读(132)  评论(0编辑  收藏  举报