python数据类型3

列表

~列表常见操作

L.append(object)-->在列表末尾添加新的对象

#列表是可变的
li = [1,2,3]
#添加4
li.append(4)  # 在尾部添加新的元素
li.append([5,6]) # 直接将整个列表作为一个整体添加进去
print(li) # [1, 2, 3, 4, [5, 6]]

L.count(object)-->统计某个元素在列表中的次数

li = [1,2,3,[3,3]]
print(li.count(3)) #1
print(li[3].count(3)) #2

L.extend(iterable)-->用新列表扩展原来的列表

li = [1,2,3]
#添加4
li.extend([4]) #可迭代(只要是通过下标取值,就是可迭代的),将值依次添加
print(li) # [1, 2, 3, 4]

L.index(value)-->从列表中找出某个值第一个匹配项的索引位置

li = [1,2,3,4,5,2]
print(li.index(2)) #查找第一个2的下标 1

L.insert(index,object)-->将对象插入列表

li = ['hello','h']
li.insert(0,'b') # 根据下标位置来添加新值
print(li) # ['b', 'hello', 'h']

L.pop([index])-->移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

L.remove()-->移除列表中某个值的第一个匹配项

L.reverse()-->反向列表中的元素

L.sort(reserse=False)-->对原列表进行排序

L.copy()-->复制列表

li = [1,2,3,4,5]
li2 = li.copy()
print(li2) # [1, 2, 3, 4, 5]
#li2=li 与 li.copy不同,内存地址不同

L.clear()-->清空列表

li = ['hello','h']
li.clear()
print(li) #[]
#clear 用来清除列表中的内容 ,del 用来删除列表

元组

~元组的介绍

元组也是序列结构,但是是一种不可变序列,可以理解为内容不可变的列表

~元组创建

tu = (1,"1.00",1.0) # 可创建不同类型
print(tu) #(1, '1.00', 1.0)
t = tuple([1,'1.1'])
print(t) #(1, '1.1')

~与列表相同操作

#索引取值,从0开始
tu = tuple('1234')
print(tu[1])#2

#切片取值
# 3,4
print(tu[2:4]) #左闭右开

# count index
t = (1,2,3,4,5,3)
print(t.count(3))
print(t.index(3))
#sort只是针对列表
#reserved,sorted 内置的,只要是可迭代的对象就可以使用
tut = (1,5,4,3)
print(tuple(reversed(tut))) #反转
print(sorted(tu)) # 排序输出一个新列表,升序,不改变原来的值

tu1 = (1,2,3)
tu2 = (2,3,4)
print(tu1+tu2) # 做拼接
# print(tu1*tu2) # 不行
print(tu1 * 2) # 做拼接

~元组中不允许的操作

不允许增删改查

不允许删除某个元素(但可以删除整个元组)

若元组中嵌套着列表(可变的),则可以定位列表进行修改

元组内存消耗相对列表更少

当元素不需要改变的时候,推荐使用元组

当元素需要改变时,推荐使用列表

~元组与列表之间的转换

li = [1,2,3,4]
print(tuple(li))#(1, 2, 3, 4)
tu = (1,2,3,4)
print(list(tu))#[1, 2, 3, 4]

字典

~字典的介绍

字典的数据类型基于hash散列算法实现的,采用键值对的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。它是一种可变对象,所以支持增删改查

~字典创建

dic = {}
print(type(dic)) #<class 'dict'>

#创建字典,元素不限,值可以为任意类型,可变的
dic = {'name':'zhangsan','age': 18,'hobby':['python','bask']}
print(dic['name']) #zhangsan

#注意点1,key只能是不可变的数据类型
dic = {['adder']:'human'}#不行
dic = {('adder'):'human'}#可行

#注意点2,键是唯一的,但是有重复键会进行覆盖
dic = {'adder':'hunan','adder':'shenzheng'}
print(dic)#{'adder': 'shenzheng'}

也可以通过name=张三的方式创建字典

map跟zip

dic = {}
print(type(dic)) #<class 'dict'>

#创建字典,元素不限,值可以为任意类型,可变的
dic = {'name':'zhangsan','age': 18,'hobby':['python','bask']}
print(dic['name']) #zhangsan

#注意点1,key只能是不可变的数据类型
dic = {['adder']:'human'}#不行
dic = {('adder'):'human'}#可行

#注意点2,键是唯一的,但是有重复键会进行覆盖
dic = {'adder':'hunan','adder':'shenzheng'}
print(dic)#{'adder': 'shenzheng'}

# 将列表中元素,转化为int
li = list('1234')
#map 将每个元素传到int中
print(map(int,li)) #<map object at 0x000002351D662EB0>
#zip 将两个列表中元素一一对应
li_k = ['name','age']
li_v = ['zhangsan',30]
print(zip(li_k,li_v)) # <zip object at 0x0000014A048AEE40>
print(dict(zip(li_k,li_v)))#{'name': 'zhangsan', 'age': 30}
#也可以通过下标一一对应创建字典

~字典的常用方法

dic1 = {'name': 'zhangsan', 'age': 30}
print(dic1['name']) #通过key取值
# print(dic1('gender'))#不存在的值会报错
print(dic1.get('gender'))#None,get查不到的值不会报错

#增加值,如果不存在就创建
dic1['gender'] = 'female'#创建
print(dic1)
dic1['gender'] = 'male'#修改
print(dic1)

#删除
dic1 = {'name': 'zhangsan', 'age': 30}
#删除指定的值
del dic1['name']
print(dic1)#{'age': 30}

#pop 删除
dic1.pop('age')
print(dic1)#{'name': 'zhangsan'}

#删除整个字典
del dic1

#清空字典
dic1.clear()
print(dic1)

dic2 = {'name': 'zhangsan', 'age': 30}
print(dic2.items()) #用于循环,以列表返回可遍历的(键值)元组对
print(dic2.keys())#所有键
print(dic2.values())#所有值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

猩猩文学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值