(期末卷一卷) python列表,元组,字典详解

(期末卷一卷) python列表,元组,字典详解

一、列表
列表是python中的一种数据类型,可以存放多个数据,列表中的数据可以是任意类型的。

  • 定义空列表有两种方法:
#定义空列表
my_list = []
print(my_list,type(my_list))

my_list1 =list()
print(my_list1,type(my_list1))
  • 定义带数据的列表,数据元素之间使用逗号隔开
list =[1,3.14,True,'小可爱慧慧']
print(list,type(list))
  • 求列表中数据元素的个数,即列表的长度(使用内置函数len())
num=len(list)
print(num)
  • 列表支持下标和切片操作
print("*"*30)
print(list[1])
print(list[-1])

print(list[1:3])
  • 下标操作和字符串不同的是:列表可以通过下标直接修改该数据元素
list[0]='慧慧'
print(list[0])
  • 使用for循环对列表进行遍历
for i in list:
    print(i)
  • 使用while循环对列表进行遍历
j=0
while j<len(list):
    print(list[j])
    j +=1
  • 向列表中添加数据元素(两种方法)
# 向列表中添加数据的方法,都是直接在源列表中进行添加的,不会返回新的列表

# 1:append(新的数据元素)
list.append('喜欢')
print(list)

list1=list.append('对不起') # 此处的list1是空列表,因为列表添加方法都不会产生新列表
print(list1) # None 关键字,表示空

print(list)
# 2:列表.insert(下标,新的数据元素)
list.insert(0,'老婆')
print(list)

# 3: 列表.extend(可迭代对象) 会将可迭代对象中的数据逐个添加到源列表的末尾
list.extend('LOVE')
print(list)
list.extend(['你','记得','吗'])
print(list)
  • 列表中的数据查询操作
# index(需要查找的数据元素)
num=list.index('老婆')
print(num)

# count(需要统计的数据元素) 统计出现的次数
num1=list.count('慧慧')
print(num1)

# in/not in 判断是否存在,存在是True,不存在是False
num2='喜欢' in list
print(num2)

num3='喜欢' not in list
print(num3)
  • 列表的删除操作
# 1:根据元素的数据值进行删除
list.remove('慧慧')
print(list)
list.remove('老婆')
print(list)
# 2: 根据下标进行删除
# 2.1 : pop(下标) 默认删除最后一个数据,返回删除的内容
str=list.pop()
print(str)
print(list)

str1=list.pop(2)
print(str1)
print(list)

# 2.2: del  列表[下标]
del list[5]
print(list)
  • 列表中的排序操作
  • 注意: 想要对列表中的数据排序,首先要要求列表中的数据元素类型是一样的
list2=[2,5,66,7,8,1]
# 列表.sort() 直接在源列表中进行排序,默认为从小到大:即升序
list2.sort()
print(list2)

list2.sort(reverse=True) # 通过列表.sort(reverse=True),变为从大到小排序,即:降序
print(list2)

# 补充: (内置函数)sotred(列表) 排序 ,不会在源列表中进行排序,会得到一个新的列表
list3=sorted(list2) # 默认为升序
print(list3)

list4=sorted(list2,reverse=True) # 修改为降序
print(list4)

# 通过切片对列表进行逆置,可得到一个新列表
list5=['a','4','f','1','b']
list6=list5[::-1]
print(list6)

# 在源列表中直接逆置, 列表.reverse()
list6.reverse()
print(list6)
  • 列表的嵌套
List=[[1,2,4,5,6,5],
      ['s','2','v','s','k'],
      [True,'慧慧','我喜欢你',1314]]
print(List[2])
print(List[2][2])
print(List[2][2][2])

for i in List:
    for j in i:
        print(j,end=' ')
  • 列表的拼接
l=['1','a','o','y'] # 要求元素全部为字符串
print('*'.join(l))

二、元组
元组和列表的不同:
(1)、列表用[] 定义,元组用() 定义
(2)、列表中的元素可以修改,元组中的元素不可以修改,这就导致元组不能进行元素添加,元素删除,排序等操作。

  • 元组的定义
list=['q','w','e','r'] # 列表的定义
tuple=('x',1,True,'x') # 元组的定义
print(list,type(list))
print(tuple,type(tuple))
  • 定义空元组
t=(3) # 不是元组,是int类型
tt=(3,) # 加逗号,表示元组
print(t,type(t))
print(tt,type(tt))
  • 元组长度
print(len(tuple))
  • 元组的下标与切片操作
t=(1,4,25,6,7,8,100)
print(t[-1])
print(t[0:5:2])
print(t[0:5]) # 注意两个参数时输出不包含停止索引的数据
print(t[::-1])
  • 元组的拼接
t1=(1,2,3,4)
t2=(5,6,7)
print(t1+t2)
  • 元组的最值操作
print(min(t2))
print(max(t2))
  • 元组的删除
# print(t1)
# del t1
# print("删除之后:",t1) # 系统会报错:没有定义该元组
# Traceback (most recent call last):
#   File "D:\Pycharm\Charm.1.入门\元组.py", line 37, in <module>
#     print("删除之后:",t1)
# NameError: name 't1' is not defined
  • 元组中的数据查询操作
  • index(需要查找的数据元素,返回该元素的下标)
num=tuple.index('x')
print(num)
  • count(需要统计的数据元素) 统计出现的次数
num1=tuple.count('x')
print(num1)

三、字典

  • 字典 dict 定义使用{}定义,是由键值对组成(key-value)
  • 变量 ={key1:value1,key2:value2,key3:value3…}
  • 字典的key 可以是字符串,数字,元组类型,但不能是列表
    -value 值可以是任意类型
  • 定义空字典
my_dict ={}
my_dict1=dict()
print(my_dict,type(my_dict))
print(my_dict1,type(my_dict1))
  • 定义带数据的字典
my_dict2={'name':"惠",'age':19,'like':['学习','乖巧','关心人'],1:[2,5,6,6]}
print(my_dict2)
  • 访问value值,在字典中没有下标的概念,使用key值访问对应的value值
print(my_dict2['name'])
print(my_dict2['like'][1])
# 如果key值不存在,程序报错
# print(my_dict2[3]) # 程序报错
  • 字典.get(key)
print(my_dict2.get(1))

print(my_dict2.get(2))# 如果key值不存在,get方法返回None关键字,表示空
  • 字典.get(key,数据值) 如果key值不存在,返回书写的数据值
print(my_dict2.get('age','hello'))

print(my_dict2.get(4,'没有该数据'))
  • len()方法求:字典的数据元素个数
print(len(my_dict2))
  • 字典中数据的添加和修改
my_dict3={'name':'惠'}
  • 字典中添加和修改数据,使用key值进行添加和修改
  • 字典[key]=数据值 , 如果key值存在,就是修改,如果key值不存在,就是添加
my_dict3['有点']='可爱'
print(my_dict3)
my_dict3['有点']='傻'
print(my_dict3)

# 注意: key值int型的1 和 float 型的1.0 是一个数据
my_dict3[1]='int'
print(my_dict3)
my_dict3[1.0]='float'
print(my_dict3)
  • 字典的删除数据
my_dict2={'name':"惠",'age':19,'like':['学习','乖巧','关心人'],1:[2,5,6,6]}
  • 字典.pop(key) 该方法将删除对应key值以及对应的value值,并且返回key值对应的value值
result= my_dict2.pop('age')
print(my_dict2)
print(result)
  • 字典.clear() 清空字典,删除所有的键值对
my_dict2.clear()
print(my_dict2)
  • del 字典名 直接将这个字典删除了。不能使用这个字典了
del my_dict2 # 后面的代码不能再直接使用这个字典变量了,除非·再次定义

# print(my_dict2) # 代码会报错
  • 字典中遍历数据
my_dict4={'name':"惠",'age':19,'like':['学习','乖巧','关心人'],1:[2,5,6,6]}
  • for循环直接遍历字典,注意:遍历的是字典的key值
for key in my_dict4:
    print(key,my_dict4[key])
print('='*50)
  • 字典.keys() 获取字典的所有key值,得到的类型是dict_keys,该类型具有的特点是:

(1):可以使用list() 进行类型转换,即将其转换为列表类型
(2):可以使用for循环进行遍历

result= my_dict4.keys()
print(result,type(result))
for key in result:
    print(key)
  • 字典.values() 获取字典的所有value值,得到的类型是dict_values

(1):可以使用list() 进行类型转换,即将其转换为列表类型
(2):可以使用for循环进行遍历

result1=my_dict4.values()
print(result1,type(result1))
for value in result1:
    print(value)
  • 字典.items() 获取字典的所有键值对,得到的类型是dict_items ,(key,value)组成元组类型

(1):可以使用list() 进行类型转换,即将其转换为列表类型
(2):可以使用for循环进行遍历

result2=my_dict4.items()
print(result2,type(result2))
print('='*50)
for item in result2:
    print(item[0],item[1])
for k,v in result2: # k 是元组中的第一个数据, v 是元组中的第二个数据
    print(k,v)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白夜的月亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值