数据类型 - 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”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段

vs code 自定义代码片段

JavaScript笔试题(js高级代码片段)

视图或片段库为常见数据类型组成 UI

一个具有两种显示类型的片段[关闭]