首页 > 其他分享 >03-04 基本数据类型(列表、元组、字典、集合)

03-04 基本数据类型(列表、元组、字典、集合)

时间:2023-08-19 23:33:43浏览次数:39  
标签:03 04 Runoob list 数据类型 thisset print tinydict 字典

一、列表
1、访问列表中的值
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] ) # 'red'
print( list[1] )
print( list[2] )
print( list[-1] ) #black
print( list[-2] ) #white
print( list[-3] ) #yellow
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4]) #[10, 20, 30, 40]
list = ['Google', 'Runoob', "Zhihu", "Taobao", "Wiki"]
# 读取第二位
print ("list[1]: ", list[1])
# 从第二位开始(包含)截取到倒数第二位(不包含)
print ("list[1:-2]: ", list[1:-2])
print(list[1:]) #输出从第二个元素开始后的所有元素
print(list[:-2]) #输出倒数第二个前的所有
print(list(:3))
2、更新列表
list = ['Google', 'Runoob', 1997, 2000]
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
2、删除列表元素
list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)
3、列表操作符
nums=[2,2,3,4,5,3,6,77,4433,33]
print(len(nums))
print(nums+[2,3,4,5])
print(["hi"]*4)
print(2 in nums)
for i in nums:
print(i)
4、嵌套列表
a = ['a', 'b', 'c']
n = [1, 2, 3]
x = [a, n]
print(x) #[['a', 'b', 'c'], [1, 2, 3]]
print(x[0]) #['a', 'b', 'c']
print(x[0][1]) #'b'
5、常用方法
nums=[2,33,24,57,6,33,7,55,98,68,45]
print(len(nums))
print(max(nums))
print(min(nums))
aTuple = (123, 'Google', 'Runoob', 'Taobao')
print(list(aTuple)) #元组转列表
print(nums.count(2)) #2出现的次数
print(nums.index(33)) #33第一次匹配的索引位置
i=nums.pop() #移除列表中的一个元素(默认是-1),并且返回该元素的值
j=nums.pop(1) #删除索引为1的
nums.remove(33) #移除列表中某个值的第一个匹配项
nums.reverse() #列表反向
nums.sort() #排序,默认False升序,设置True降序
nums.clear() #清空列表
nums2=nums.copy() #复制
二、元组
1、元组访问
Python 的元组与列表类似,不同之处在于元组的元素不能修改、不能删除。
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d" # 不需要括号也可以
print(type(tup3)) #<class 'tuple'>
tup1 = (50)
print(type(tup1)) # 不加逗号,类型为整型 <class 'int'>
tup1 = (50,)
print(type(tup1)) # 加上逗号,类型为元组 <class 'tuple'>
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
2、操作符
和列表一样
3、方法
tuple1 = ('Google', 'Runoob', 'Taobao')
len(tuple1)
tuple2 = ('5', '4', '8')
max(tuple2)
min(tuple2)
list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
tuple1=tuple(list1) #将可迭代系列转换为元组
三、字典
1、创建字典
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(**,**)
分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
# 使用大括号 {} 来创建空字典
emptyDict = {}
# 打印字典
print(emptyDict) #{}
# 查看字典的数量
print("Length:", len(emptyDict)) #Length: 0
# 查看类型
print(type(emptyDict)) #<class 'dict'>
使用内建函数 dict() 创建字典:
emptyDict = dict()
# 打印字典
print(emptyDict)
# 查看字典的数量
print("Length:",len(emptyDict))
# 查看类型
print(type(emptyDict))
2、访问字典的值
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])
3、修改字典
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
tinydict['Age'] = 8 # 更新 Age
tinydict['School'] = "橙软" # 添加信息
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
4、删除字典
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del tinydict['Name'] # 删除键 'Name'
tinydict.clear() # 清空字典
del tinydict # 删除字典
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
5、字典特性
不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
print ("tinydict['Name']: ", tinydict['Name'])
键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
Python3 的六个标准数据类型中:
● 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
● 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
6、方法
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(len(tinydict)) #计算字典元素个数,即键的总数
print(str(tinydict)) # "{'Name': 'Runoob', 'Age': 7, 'Class': 'First'}"
print(type(tinydict)) #<class 'dict'>
tinydict.clear() #删除字典内所有元素
dict2=tinydict.copy() #返回一个字典的浅复制
seq = ('name', 'age', 'sex')
tinydict = dict.fromkeys(seq)
print("新的字典为 : %s" % str(tinydict)) #新的字典为 : {'age': None, 'name': None, 'sex': None}
tinydict = dict.fromkeys(seq, 10)
print("新的字典为 : %s" % str(tinydict)) #新的字典为 : {'age': 10, 'name': 10, 'sex': 10}
tinydict = {'Name': 'Runoob', 'Age': 27}
print ("Age : ", tinydict.get('Age'))
# 没有设置 Sex,也没有设置默认的值,输出 None
print ("Sex : ", tinydict.get('Sex'))
# 没有设置 Salary,输出默认的值 0.0
print ('Salary: ', tinydict.get('Salary', 0.0)) #如果指定键的值不存在时,返回该默认值0.0
# get(key) 方法在 key(键)不在字典中时,可以返回默认值 None 或者设置的默认值。
# dict[key] 在 key(键)不在字典中时,会触发 KeyError 异常。
if name in tinydict:
print("aa")
d = {'Name': 'Runoob', 'Age': 7}
for i,j in d.items():
print(i, ":\t", j)
print(tinydict.keys())
print(tinydict.values())
tinydict = {'Name': 'Runoob', 'Age': 7}
tinydict2 = {'Sex': 'female'}
tinydict.update(tinydict2)
print("更新字典 tinydict : ", tinydict)
site= {'name': '橙软', 'alexa': 10000, 'url': 'www.csoftedu.net'}
element = site.pop('name') #删除字典给定键 key 所对应的值,返回值为被删除的值
print('删除的元素为:', element)
print('字典为:', site)
四、集合
1、创建集合
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}
或者
set(value)
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)# {'orange', 'banana', 'pear', 'apple'}
a = set('abracadabra')
print(a) #{'a', 'r', 'b', 'c', 'd'}
2、添加元素
thisset = set(("Google", "Runoob", "Taobao"))
thisset.add("Facebook")
print(thisset) #{'Taobao', 'Facebook', 'Google', 'Runoob'}
thisset = set(("Google", "Runoob", "Taobao"))
thisset.update({1,3}) #参数可以是列表,元组,字典等
print(thisset)#{1, 3, 'Google', 'Taobao', 'Runoob'}
thisset.update([1,4],[5,6])
print(thisset) #{1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'}
3、移除元素
thisset = set(("Google", "Runoob", "Taobao"))
thisset.remove("Taobao") #如果元素不存在,则会发生错误
print(thisset)#{'Google', 'Runoob'}
thisset = set(("Google", "Runoob", "Taobao"))
thisset.discard("Facebook") # 移除不存在的元素时不会发生错误,remove会发生错误
print(thisset)#{'Taobao', 'Google', 'Runoob'}
thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
x = thisset.pop() #set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除
print(x)
4、计算集合元素个数
thisset = set(("Google", "Runoob", "Taobao"))
len(thisset)
5、清空集合
thisset = set(("Google", "Runoob", "Taobao"))
thisset.clear()
print(thisset)
6、判断元素是否在集合中存在
thisset = set(("Google", "Runoob", "Taobao"))
"Runoob" in thisset

标签:03,04,Runoob,list,数据类型,thisset,print,tinydict,字典
From: https://www.cnblogs.com/k0065/p/17643441.html

相关文章

  • Gym103687D The Profiteer:回滚莫队信息双指针可以做到线性对数
    标题写得好所谓的回滚莫队信息意思是,设信息保存在两个大小分别为\(a,b\)的结构上,将这两个信息进行合并得到大小为\(a+b\)的信息需要的时间为\(\Omega(\min\{a,b\}\cdotf(n))\);而给定一个大小为\(1\)的信息,可以在\(\mathrmO(f(n))\)时间内将它加入到任何一个结构中......
  • 在 Ubuntu 22.04 系统上为 SSH 开启基于时间的 TOTP 认证
    前言一次性密码(英语:one-timepassword,简称OTP),又称动态密码或单次有效密码,是指电脑系统或其他数字设备上只能使用一次的密码,有效期为只有一次登录会话或一段短时间内。基于时间的一次性密码算法(英语:Time-basedOne-TimePassword,简称:TOTP)是一种根据预共享的密钥与当前时间计算一次......
  • java基础运算符04(扩展运算符,三元运算符,包机制)
    扩展赋值运算符扩展赋值运算符属于比较偷懒的一种方式,+=,-=,*=,/=都是同样的原理和运用方式,不深入学习,就代码示例一下publicclassDemo{publicstaticvoidmain(String[]args){inta=10;intb=20;a+=b;//a=a+bSystem.out.prin......
  • 【Spring Boot】Bean字段校验-JSR303
    规范:JSR303 BeanValidation1.0 开发过程:1、Bean定义字段校验规则:2、Controller引入@Valid(来自)或@Validated(来自org.springframework.validation.annotation)触发校验样例如下:背景知识:1.HibernateValidator定义Bean字段校验的注解和校验器实现......
  • AtCoder Beginner Contest 288 - C Don't be cycle 删除图中最少的边使得图中无环
    C-Don'tbecycle题意给定一个n个顶点,m条边的无向图,你需要删除图中的一些边使得图中不存在环问你需要删除的最少边数?思路考虑连通块的生成树一个由n个顶点组成的连通块最多只能有n-1条边,不然就会成环。那么对于本题,我们只需要找到每个连通块的顶点数,那么每个连......
  • iwebsec-文件上传 04 文件头过滤绕过
    01、题目分析文件上传的文件头过滤,题目中已经告诉我们了,我们已经知道了过滤类型,但是出于学习和判断的目的,那么我们还是得判断一下文件上传的过滤类型02、文件上传既然文件头过滤,直接在木马文件中加上文件头GIF98a,然后直接上传即可,如果有文件类型过滤,那么就像上一关一样更改下文......
  • iwebsec-文件上传 03 Content-Type过滤绕过
    01、题目分析文件上传的文件类型过滤,题目中已经告诉我们了,我们已经知道了过滤类型,但是出于学习和判断的目的,那么我们还是得判断一下文件上传的过滤类型02、文件上传先用哥斯拉创建一个一句话木马命名为1.php然后尝试上传木马依旧是被拦截,但是这次burp抓到了数据包,说明是后......
  • Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及
    1.查看参数max_string_size默认值SQL>showparametermax_string_sizeNAME                   TYPE                 VALUE---------------------------------------------------------------------......
  • CH32V003的输入/输出端口
    GPIO端口是处理器与外部设备打交道的基础,为了更好地应用它,下面就对CH32V003的通用输入输出端口(GPIO)的寄存器结构及用法做详细深入地讨论。CH32V003是一个32位的处理器,但它的GPIO端口并不是把32个引脚都引出来,而是根据芯片型号及其封装的不同,分别引出来了18个(CH32V003F4P6、CH32V00......
  • [AGC004F] Namori 题解
    这里给出一种与其他题解完全不同的实现方式。思路发现图要么是一棵树,要么是一颗基环树。树我们首先考虑树如何操作。我们可以\(\text{dfs}\)这颗树。对于每个点维护一个\(w,h\),表示这个点想要变成白色\(w\)次,想要变成黑色\(h\)次。容易发现每个点最初状态都为\(w=0......