首页 > 其他分享 >元组、布尔、集合内置方法以及数据类型内置方法总结

元组、布尔、集合内置方法以及数据类型内置方法总结

时间:2024-04-03 20:56:09浏览次数:26  
标签:set num 数据类型 列表 集合 内置 print 元组 字典

昨日内容回顾

【一】列表类型内置方法

(一)类型强制转换

  • 字符串可以转换成列表 字符串中的每一个元素
  • 字典 转换为列表以后是 字典的键
  • 元组 转换为列表
  • 集合 转换为列表 集合的去重性和无序性 ---> 一旦转换成功 这个列表就定死

(二)按照索引取值

  • 正向: 从0开始
  • 反向:从-1开始
  • 可以取值并将取到的值位置的索引值替换掉
  • 索引取值的情况下,如果没有索引的值就会报错

(三)切片

  • 顾头不顾尾:range

  • [起始位置:截止位置:步长]

  • [::-1] :翻转

  • 负索引取值的时候第一个起始位置要从右向左取

  • [::-2]

name = 'gdyandhyt'
print(name[0:4:2])			# gy
  • 从右向左开始
name = 'gdyandhyt'
print(name[-1:-4:-1])		# tyh

(四)计算长度

  • 语法:len(变量名)

(五)成员运算

  • 可以判读当前元素是否在当前列表

  • in

  • not in

  • 可以将字典的键转换为列表 用成员运算判断当前输入的用户名是否存在于当前列表中

(六)操作方法

(1)增加

  • extend(直接放列表)
  • insert(索引位置,值)
    • 插入到指定索引位置上
  • append() 将元素默认追加到结尾

(2)查看

  • 直接打印列表
  • 索引取值

(3)删除

  • pop() :如果不写参数则默认删除最后位置的元素 可以将元素弹出可以用变量名接受
  • pop(索引): 直接弹出指定索引位置的元素
  • remove(值) :在列表中存在的值才能被remove
  • del 列表[索引位置]: 将从列表中按照索引位置取出来的值删除掉

(4)修改

  • 直接索引取值 = 修改的新值

(七)颠倒元素

  • 列表.reverse(): 将列表中的所有元素翻转

  • list(reversed(列表))

(八)对列表中的元素进行排序

  • 列表.sort() : 将原来的列表进行排序 ---> 影响到的是原来的列表

  • sorted(列表):有返回值,返回值就是排序后的列表,并且原本的列表不受影响

  • 有一个参数 reverse=True:将排序号的结果翻转

(九)遍历列表

  • for 循环获取列表中每一个元素
  • for + range 关键 :可以放指定区间 ---> 根据索引坐标获取列表值
  • while 列表的长度: 内部有count 根据索引指定索引对应的值

【二】字典类型内置方法

【1】定义风格

  • 在一个{}里面放一个k:v键值对

【2】字典操作

(1)增加

  • 有则修改,无则添加
  • 字典[key] = value
  • 字典.update({k:v}) ---> 更新原来的字典
  • 字典.update(k=v) ---> 更新原来的字典
  • setdefault(k,v) ---> 有返回值返回值是你设置进去的键值对的值

(2)查看

  • 字典[key] 取值 ---> 拿到指定键对应的值,取不到会报错
  • 字典.get(key) 取值 ---> 拿到指定键对应的值,取不到的话不会报错
  • 查看字典的键对 字典.keys() dict.keys 支持成员运算
  • 值对 字典.values()
  • 键值对 字典.items() :在列表中存在的一个个的元组 (key,value)
  • for key,value in 字典.items(): 解压赋值

(3)修改

(4)删除

  • pop() ---> 弹出最后的元素
  • del 字典[key]:把查询的键和对应的值全部删除
  • 清空字典 字典.clear()
  • 删除键值对 字典.popitem()

【3】遍历循环

for key in user: 拿到的值就是键

今日内容

元组内置方法

【一】元组的定义

  • 在元组的内部,只有一个元素的时候 + “,”

【二】类型强制转换

  • 整数类型和布尔类型不可以
print(tuple([1,2,3]))
print(tuple('dream'))
print(tuple({1,2,2}))
print(tuple({'username':"dream"}))

【三】索引取值

num_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9)
print(num_tuple[0])
  • 切片:顾头不顾尾
  • 不支持根据索引修改指定的索引值
num_tuple[0] = 999

【四】计算元素个数

print(len((1,2,3)))				# 3

【五】成员运算

print(4 in (1,2,3))				# False

【六】支持遍历

for i in (1,2,3,4):
    print(i)					# 结果:将1234输出一遍
# for + range ---> 索引取值

【七】元组拼接

  • 两个列表+起来 ,可以得到一个新列表,其中包括了两个列表的元素
print([1, 2, 3] + [4, 5, 6])			# [1, 2, 3, 4, 5, 6]
  • 两个元组+起来,可以得到一个新元组,其中包括两个元组的的元素
print((1, 2, 3) + (4, 5, 6))			# (1, 2, 3, 4, 5, 6)

【八】* 号运算

print((1, 2, 3) * 6)			# (1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3)

布尔类型的内置方法

【一】强制类型转换

  • 强制将其他类型转换为布尔类型
print(bool(0))				# False
print(bool(1))				# True
print(bool(2))				# True

# 在python中结果为假的情况
# 布尔值false
# 空值

集合类型的内置方法

【一】集合的定义

  • 集合是用{}的定义的,并且每一个元素但是单独的,区分与字典的是,字典中是键值对
  • 集合内部的元素不能放可变数据类型

【二】集合的特性

  • 无序性

    • 相对于其他类型来说
  • 数字类型的hash值是死的

print({1, 2, 3, 4, 5, 6, 999, 55, 'a', 77, 'c', 44})
  • 去重性
    • 在一个集合内不会出现重复的元素

【三】其他类型的数据强转

  • 强转的时候会沿用集合的特性,无序且去重
name = 'hanyutong'
print(set(name))			# {'u', 'h', 'y', 'a', 'o', 'n', 't', 'g'}
print(set({'username': "hyt", 'password': "123"}))			# {'username', 'password'}

【四】集合操作

【1】添加元素

num_set = {1, 2, 3}
num_set.add(999)			# add的方法只能添加一个元素
print(num_set)				# {1, 2, 3, 999}
num_set.update([1, 2, 3, 4])
num_set.update((4, 5, 6))		# 无论是列表还是元组添加进来之后都是以集合的形式存在	
print(num_set)					# {1, 2, 3, 4, 5, 6, 999}
  • 把注册过的用户名全部扔到集合中

  • 利用集合的去重性判断当前用户是否注册过

username_tuple = {'gdy', 'hyt'}
username = input(':>>>')
username_tuple.add(username)

【2】删除元素

  • 删除已经存在的值
num_set = {1, 2, 3,999}
num_set.remove(999)
print(num_set)				# {1, 2, 3}
  • remove 删除集合中不存在的值是会报错
num_set.remove(999)			#直接报错
print(num_set)
  • discard 删除不存在的元素时不会报错,而是返回原来的集合
num_set.discard(999)		#{1, 2, 3}
print(num_set)
  • pop 在其他的数据类型可以指定参数,但是在集合中不能指定参数,默认删除左1
num_set = {1, 2, 3,999}
num_set.pop()
print(num_set)			# {2, 3, 999}

【五】集合的运算

  • 交集 : 两个集合中共有的元素
set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1.intersection(set2)
print(intersection_set) 			 # 输出: {3}
  • 并集:将两个集合中的元素合并到一起
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)
print(union_set) 			 # 输出: {1, 2, 3, 4, 5}
  • 差集:你有但是我没有的数据
set1 = {1, 2, 3}
set2 = {3, 4, 5}
difference_set = set1.difference(set2)
print(difference_set)  					# 输出: {1, 2}
  • 判断两个集合是否相等
is_equal = set1 == set2
print(is_equal)					# 输出: False
  • 将列表转成了集合
list = ['a','b',1,'a']
num = set(list)	
print(num)				# {'a', 'b', 1}

l_new = list(s)  # 再将集合转回列表
print(l_new)  # 去除了重复,但是打乱了顺序			# ['b', 'a', 1]
  • 针对不可变类型,并且保证顺序则需要我们自己写代码实现,例如
l_second = [
    {'name': 'lili', 'age': 18, 'sex': 'male'},
    {'name': 'jack', 'age': 73, 'sex': 'male'},
    {'name': 'tom', 'age': 20, 'sex': 'female'},
    {'name': 'lili', 'age': 18, 'sex': 'male'},
    {'name': 'lili', 'age': 18, 'sex': 'male'},
]

new_l_second = []

for dic in l_second:
    if dic not in new_l_second:
        new_l_second.append(dic)

print(new_l_second)
# 结果:既去除了重复,又保证了顺序,而且是针对不可变类型的去重
'''
[
{'name': 'lili', 'age': 18, 'sex': 'male'}, 
{'name': 'jack', 'age': 73, 'sex': 'male'}, 
{'name': 'tom', 'age': 20, 'sex': 'female'}
]
'''

数据类型小结

按存值个数来算

只能存一个:字符串、数字类型、布尔

能放多个:列表、元组、集合、字典

按访问当时区分

能索引取值:字符串、列表、元组

能键取值:字典

不能取值:数字类型、布尔、集合

按可变和不可变

能变化的:列表、字典

不能变化的:数字类型、字符串、集合、元组、布尔

标签:set,num,数据类型,列表,集合,内置,print,元组,字典
From: https://www.cnblogs.com/wycmjd/p/18113490

相关文章

  • 数据内置方法
    1元组类型内置方法【一】元组的定义()在元组的内部,只有一个元素的时候要+’,‘。如果不加’,‘就会变成了一个字符串或者是其他的类型。【二】类型强转转换其他数据类型为元组整数类型不行,布尔类型也不行print(tuple([1,2,3]))#(1,2,3)print(tuple('happy'))#(......
  • 05 数据类型
    数据类型是指在创建表的时候为表中字段指定数据类型,只有数据符合类型要求才能存储起来使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间数值类型字符串类型日期类型......
  • Java 基本数据类型
    变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。Java的两大数据类型:内置数据类型引用数据类......
  • 数据类型内置方法2
    列表类型强转list(内容)索引取值list[start:end:size]返回一个列表切片list[start:end:size]计算长度len(list)成员运算:innotin操作方法增:.extend(列表).append(内容).insert(索引,内容)删dellist[索引].pop(索引).remove(内容)查......
  • python数据类型内置方法(部分明天补充)
    1.整型内置a.+加法,调用的内部的add函数b.类型强制转换可以将符合整数格式的字符串转换成整数类型只能转换符合整数格式的字符串c.进制转换oct()八进制hex()十六进制bin()二进制d.int也支持进制转换,其他进制转为十进制eg:print(int('ob1101',2))2.浮点数......
  • 列表和字典的内置方法
    1列表的内置方法gf_name_list=['高圆圆','刘亦菲','赵丽颖','范冰冰','李嘉欣']一、增(1)列表最后位置追加一个值gf_name_list.append("橘梨纱")(2)向列表任意位置插入一个值gf_name_list.insert(1,"橘梨纱")(3)扩展列表gf_name_list.extend([&......
  • python变量和简单的数据类型[第 2 章(上)]
    2.1运行解释文件扩展名:结尾的.py用于指出文件内容是Python代码Python解释器:读取整个文件,确定其中每一行的含义并执行例如,当解释器看到print,就会将括号中的内容打印到屏幕上。语法高亮:用不同的颜色,区分出程序代码中的不同部分 2.2变量修改我们在上一章中写的代......
  • 07字符串内置方法_列表的内置方法_列表操作_字典的内置方法
    【一】字符串内置方法【1】find方法name="dreamHello"#默认是从左向右找并且返回当前字符在字符串内部的索引坐标print(name.find('d'))#0#默认只能找一次,找到了就不会再找下去了print(name.find('e'))#2#可以指定寻找的区间print(name.find('e',5,-1))#7......
  • redis特殊数据类型-Geospatial(地理位置)用法
    一 Geospatial(地理位置)介绍使用经纬度定位地理坐标并用一个有序集合zset保存,所以zset命令也可以使用有效的经度从-180度到180度。有效的纬度从-85.05112878度到85.05112878度。二 Geospatial应用场景        通过georadius就可以完成附近的人功能withcoo......
  • 部分数据类型的内置方法及字符串内置方法
    昨日内容回顾【一】循环结构【1】while循环break:退出当前循环coutinue:退出本次循环tag:标志位,可以通过最里层的标志位直接将最外层的while循环断掉【2】for循环遍历可迭代类型(可以被索引取值的都可以被迭代,可一个个取值的就是可迭代的)遍历的意思就是将被需要遍历的......