数据类型 - 2
Posted liangying666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型 - 2相关的知识,希望对你有一定的参考价值。
4、list 列表
list是Python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是用[]括起来的,每个元素以逗号隔开,而且他里面可以存放各种数据类型,比如:
li = [1,2,True,"哈哈",(1,2,3,"小明"),[1,2,3‘小明‘],{name:‘alex‘}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,并且列表是有序的,有索引值,可切片,方便取值。
列表的操作:
li = [‘刘德华‘,‘吴彦祖‘,‘周星驰‘,‘彭于晏‘] #创建数组 print(li) # ----- 增 ----- append insert extend li.append("张艺兴") #在列表尾部追加"张艺兴" print(li) li.insert(1,"张艺兴") print(li) #在索引为1的位置插入"张艺兴" li.extend("罗志祥") #迭代着插入 print(li)# [‘刘德华‘, ‘吴彦祖‘, ‘周星驰‘, ‘彭于晏‘, ‘罗‘, ‘志‘, ‘祥‘] li.extend(["罗志祥"]) # 将list列表迭代 print(li) # ----- 删 ------ pop remove del clear l1 = li.pop(1) # 删除指定索引处的值 返回值为删除的元素 print(l1) li.remove("刘德华") # 删除指定元素 li.remove("123") # 不存在则报错 print(li) del li[0:5] #删除指定切片长度的元素 顾头不顾尾 无返回值 del-关键字 print(li) li.clear() #清除list中所有的元素 print(li) # [] # ----- 改 ------- 直接赋值 切片 li[0] = "张艺兴" #利用直接赋值的方式修改 print(li) li[0::2] = ["a",‘b‘,‘c‘] # Wrong!!步数不是1的时候,必须匹配元素个数 # attempt to assign sequence of size 3 to extended slice of size 2 print(li) # ----- 查 ------ 切片查 或者循环去查 #例如查‘吴彦祖‘ cou = 0 for i in li: if i == "吴彦祖": print(cou) else: cou += 1 # ----- 其他操作 ------ count index sort reverse # count() 方法用于统计某个元素在列表中出现的次数 cou = li.count(‘刘德华‘) print(cou) # index()方法用于从列表中找到某个值第一个匹配项的索引 cou = li.index("周星驰") print(cou) # sort()方法用于在原位置对列表进行排序 默认升序 li_1 = [3,2,1,5,7,6] li_1.sort() #升序 li_1.sort(reverse=True) #降序 print(li_1) # reverse() 将列表中的元素反向存放 li.reverse() print(li)
列表的嵌套:使用降维操作,一层一层看
lst = [1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王剑林"]] # 找到wusir print(lst[2]) # 找到太白和wusir print(lst[1:3]) # 找到太白的白字 print(lst[1][1]) # 将wusir拿到. 然后首字母大写. 再扔回去 s = lst[2] s = s.capitalize() lst[2] = s print(lst)
5、tuple 元组
元组和元组的嵌套:
元组:俗称不可变的列表,又称只读列表,元组也是Python的基本数据类型之一,用小括号括起来,里面可以放任何数据类型的数据,可以查询,可以循环遍历,可以切片,但就是不可以修改
tu = (1, "太白", "李白", "太黑", "怎么黑") print(tu) print(tu[0]) print(tu[2]) print(tu[2:5]) # 切片之后还是元组 # for循环遍历元组 for el in tu: print(el) # 尝试修改元组 # tu[1] = "马虎疼" # 报错 ‘tuple‘ object does not support item assignment tu = (1, "哈哈", [], "呵呵") # tu[2] = ["fdsaf"] # 这么改不行 tu[2].append("麻花藤") # 可以改了. 没报错 tu[2].append("王剑林") print(tu)
关于不可变, 注意:
元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组
元组也有count(), index(), len()等方法. 可以自己测试使用
range:
range可以帮我们获取到一组数据. 通过for循环能够获取到这些数据. 顾头不顾尾
for num in range(10): print(num) for num in range(1, 10, 2): print(num) for num in range(10, 1, -2): print(num)
6、dict 字典
用{}表示,保存key:value
7、set 集合
保存大量数据,不可以重复
以上是关于数据类型 - 2的主要内容,如果未能解决你的问题,请参考以下文章
对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段