首页 > 其他分享 >基础数据类型补充内容

基础数据类型补充内容

时间:2022-12-01 16:58:48浏览次数:39  
标签:index 补充 l1 数据类型 dic 小白 内容 lis print

1.元组

python中元组有一个特性,元组中如果包含一个元素且没有逗号,改元组不是元组,与改元素的数据类型一致,有逗号,那么他是元组

tu = (1)
print(tu,type(tu))      #1 <class 'int'>
tu1 = ('alex')
print(tu1,type(tu1))    #alex <class 'str'>
tu2 = ([1,2,3])
print(tu2,type(tu2))    #[1, 2, 3] <class 'list'>

tu = (1,)
print(tu,type(tu))      #(1,) <class 'tuple'>
tu1 = ('alex',)
print(tu1,type(tu1))    #('alex',) <class 'tuple'>
tu2 = ([1,2,3],)
print(tu2,type(tu2))    #([1, 2, 3],) <class 'tuple'>

元组也有一些其他的方法:

index:通过元素找索引(可切片),找到第一个元素就返回,找不到该元素即报错。

tu = ('小白', [1, 2, 3, ], 'WuSir', '大神')
print(tu.index('小白'))   # 0
print(tu.index('大白'))   # ValueError: tuple.index(x): x not in tuple

count: 获取某元素在元组中出现的次数

tu = ('小白', [1, 2, 3, ], 'WuSir', '大神','小白', '小白' )
print(tu.count('小白'))   # 3
print(tu.count('大白'))   # 0

 

2.列表

count: 获取某元素在列表中出现的次数

lis = ['小白', [1, 2, 3, ], 'WuSir', '大神','小白', '小白']
print(lis.count('小白'))   # 3

index:通过元素找索引(可切片),找到第一个元素就返回,找不到该元素即报错。

lis = ['小白', [1, 2, 3, ], 'WuSir', '大神','小白', '小白']
print(lis.index('大神'))   # 3
print(lis.index('大白'))   # ValueError: '大白' is not in list

sort : 对列表进行排序

lis = [4,1,3,7,5,10,6,6]
lis.sort()
print(lis)      # 正序[1, 3, 4, 5, 6, 6, 7, 10]
lis.sort(reverse=True)
print(lis)      # 倒序[10, 7, 6, 6, 5, 4, 3, 1]
reverse : 反转序列
lis = ['aa',1,'bb',3]
lis.reverse()
print(lis)      # [3, 'bb', 1, 'aa']

列表也可以相加与整数相乘

lis = ['aa',1,'bb',3]
lis2 = [1,2,3]
print(lis * 2)      #['aa', 1, 'bb', 3, 'aa', 1, 'bb', 3]
print(lis + lis2)   #['aa', 1, 'bb', 3, 1, 2, 3]

循环列表,改变列表大小的问题

在循环一个列表时的过程中,如果你要改变列表的大小(增加值,或者删除值),那么结果很可能会出错或者报错。

例:索引为奇数对应的元素删除(不能一个一个的删)

 

l1 = [11, 22, 33, 44, 55, 66]
for index in range(0,len(l1)):
    if index % 2 != 0:
        l1.pop(index)
print(l1)

直接报错
D:\pythonProject\python3\venv\Scripts\python.exe D:\pythonProject\python3\day10\s1.py 
Traceback (most recent call last):
  File "D:\pythonProject\python3\day10\s1.py", line 6, in <module>
    l1.pop(index)
IndexError: pop index out of range

 

所以应该如下方法删除

 

#索引为奇数对应的元素删除(不能一个一个的删)
#方法一:直接删除
l1 = [11, 22, 33, 44, 55, 66]
del l1[1::2]
print(l1)
#方法二:倒序删除
l1 = [11, 22, 33, 44, 55, 66]
for index in range(-len(l1),0,1):
    if index % 2 !=0 :
        l1.pop(index)
print(l1)
#方法三:思维置换
l1 = [11, 22, 33, 44, 55, 66]
new_lis = []
for index in range(0,len(l1)):
    if index % 2 == 0:
        new_lis.append(l1[index])
l1 = new_lis
print(l1)

3.dict

字典的增删改

#popitem 3.5版本之前,popitem为随机删除,3.6之后为删除最后一个,有返回值
dic = {'name': '小白', 'age': 30}
ret = dic.popitem()
print(ret,dic)      # ('age', 30) {'name': '小白'}


# update
dic = {'name': '小白', 'age': 30}
dic.update(sex='男',height=165)
print(dic)          #{'name': '小白', 'age': 30, 'sex': '男', 'height': 165}

dic = {'name': '小白', 'age': 30}
dic.update(([(1,'a'),(2,'b'),(3,'c')]))
print(dic)          #{'name': '小白', 'age': 30, 1: 'a', 2: 'b', 3: 'c'}

dic1 = {'name': '小白', 'age': 30}
dic2 = {'name': 'huangping', 'height':165}
dic1.update(dic2)
print(dic1)         #{'name': 'huangping', 'age': 30, 'height': 165}

fromkeys:创建一个字典:字典的所有键来自一个可迭代对象,字典的值使用同一个值。

dic = dict.fromkeys('abcd','小白')
print(dic)      #{'a': '小白', 'b': '小白', 'c': '小白', 'd': '小白'}

dic = dict.fromkeys([1,2,3],'小白')
print(dic)      #{1: '小白', 2: '小白', 3: '小白'}

#这里有一个坑,就是如果通过fromkeys得到的字典的值为可变的数据类型,那么你的小心了。
dic = dict.fromkeys([1, 2, 3], [])
dic[1].append(666)
print(id(dic[1]),id(dic[2]),id(dic[3])) #2655183481344 2655183481344 2655183481344
print(dic)       #{1: [666], 2: [666], 3: [666]}

 



  

   

标签:index,补充,l1,数据类型,dic,小白,内容,lis,print
From: https://www.cnblogs.com/zhazhadba/p/16941905.html

相关文章

  • 数据的世界——数据类型
     上期答案:publicclassa{publicstaticvoidmain(String[]args){inta=123;intb=23;intc=3;System.out.println(a);System.out.println(b);}}可能有些人不知道怎么......
  • 数据类型之字典类型
    数据类型之字典类型数据类型之字典类型[scodetype="green"size=""]dict字典类型[/scode]字典是​有序、键不重复且元素只能是键值对的可变****的数据容器。在Py......
  • 【悟空编辑器】从技术博客的内容结构指导技术文档的编写
    在上一篇中,我们为了分析技术博客的内容结构,开发了内容结构提取工具,写作的过程中自然激发了论文写作的检查流程,然后就想到能不能基于技术博客的内容结构,给技术博客的编写提供......
  • Solidity数据类型
    Solidity是一种静态类型语言,这意味着每个变量(状态变量和局部变量)都需要在编译时指定变量的类型。Solidity提供了几种基本类型,并且基本类型可以用来组合出复杂类型。除此之......
  • 网页内容块全置灰(哀悼模式)
     filter:grayscale(1);filter滤镜,借鉴了Photoshop的滤镜效果,在ps中主要用来设置图层图片的模糊,颜色的高亮,对比度等效果,在css中滤镜通常用于调整图像,背景和边框的渲染......
  • Spring Boot实现任意位置的properties及yml文件内容配置与获取
    〇、参考资料1、SpringBoot中文乱码问题解决方案汇总https://blog.51cto.com/u_15236724/53728242、springboot读取自定义配置properties文件★https://www.yisu.co......
  • Python中的六种基本数据类型
    Python中分为六种基本数据类型不可变类型(又叫静态数据类型,没有增删改操作):数字(number)、字符串(string)、元组(tuple)可变类型(又叫动态数据类型,支持增删改操作):列表(list......
  • Golang实现小型CMS内容管理功能(二):前端接入百度ueditor富文本编辑器
    当我们把接口都做好以后,我们需要去开发前端界面。添加文章功能里面,最重要的就是文章内容部分,需要配置上富文本编辑器,这样才能给我们的内容增加样式。 下载ueditor代码......
  • MySQL补充知识及索引
    昨日内容回顾多表查询的关键字innerjoin...on...leftjoin...on....rightjoin...on...SQL关键字补充concat/concat_ws/add/change/modify多表查询实操方式......
  • 微服务转型系列4:理念指导实践,厘清微服务建设的主要内容和顺序
    导读本篇文章是博云微服务转型系列第四篇。在该系列前三篇文章中,我们分享了微服务转型的烦恼、误区和建设第一步。之前在讲到微服务的时候,我们分享过许多落地方案和实践总结......