python定义一个整数集合_Python基本数据类型集合、格式化、函数

本文详细介绍了Python中的集合,包括集合的定义、元素类型、创建方法、可变与不可变类型的区别,以及集合的各种操作如add()、clear()、copy()、pop()、remove()、discard()等。此外,还探讨了集合的交集、并集、差集、补集等关系运算,以及字符串的格式化方法,包括百分号方式和format方式。
摘要由CSDN通过智能技术生成

一、变量总结

1.1 变量定义

记录某种状态或者数值,并用某个名称代表这个数值或状态。

1.2 变量在内存中的表现形式

Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是对象。而变量是对象的一个引用(又称为名字或者标签),对象的操作都是通过引用来完成的。例如,[]是一个空列表对象,变量 a 是该对象的一个引用

在 Python 中,「变量」更准确叫法是「名字」,赋值操作 = 就是把一个名字绑定到一个对象上。就像给对象添加一个标签。

a = 1

整数 1 赋值给变量 a 就相当于是在整数1上绑定了一个 a 标签。

a = 2

整数 2 赋值给变量 a,相当于把原来整数 1 身上的 a 标签撕掉,贴到整数 2 身上。

b = a

把变量 a 赋值给另外一个变量 b,相当于在对象 2 上贴了 a,b 两个标签,通过这两个变量都可以对对象 2 进行操作。

变量本身没有类型信息,类型信息存储在对象中,这和C/C++中的变量有非常大的出入(C中的变量是一段内存区域)

1.3 id()

id方法的返回值就是对象的内存地址。

python中会为每个出现的对象分配内存。

1.4 可变类型和不可变类型

可变类型:列表list、字典dict、集合set

不可变类型:数值类型(int和float)、字符串str、元组tuple

1.5 按访问顺序分类

a、顺序访问:字符串、列表、元组,可以索引,下标

b、映射访问:字典,使用链表

c、直接访问:数字

1.6 存放元素个数:

容器类型:列表、元组、字典,能够存放多个值。

原子类型:数字、字符串,只存放一个值。

二、集合

1、集合定义:由不同元素组成,元素全部都是无序的,元素都是不可变类型。

2、集合元素必须是是数字、字符串、元组。

3、由于集合必须是不同元素组成,定义时可以重复,但输出时自动去掉重复的元素。

例子

set1= {1,2,2,2,3,4,5,6,6}print(set1)

输出结果

{1,2,3,4,5,6}

4、集合是无序的

例子

set1= {"hello","world","nicholas","nick"}print(set1)

输出结果

{'hello', 'nicholas', 'world', 'nick'}

再次运行输出结果

{'nick', 'hello', 'nicholas', 'world'}

5、集合的元素必须是不可变类型

例子

set1= {"hello",[1,2]}print(set1)

输出结果

报错TypeError: unhashable type: 'list',无法对列表进行哈希化

但在创建集合的时候可以使用列表

例子

s = set(["nicholas","niubi",])print(s)

输出结果

{'nicholas', 'niubi'}

6、创建定义集合的方法

set1= {"hello",8}

set2= set("hello")print(set1)print(set2)

输出结果

{8, 'hello'}

{'o', 'h', 'e', 'l'}

分析:这里的第二个set将字符串每个字符循环了一遍,然后去掉了重复的l

例子

s = set(["hello","nicholas","hello"])print(s)

输出结果

{'hello', 'nicholas'}

分析:这里也是将列表循环了一次,去掉重复的元素。

三、集合的方法

1、add()

例子

s = {"hello","nicholas","hello",1,(8,"nihao")}

s.add("world")print(s)

输出结果

{1, 'world', 'nicholas', 'hello', (8, 'nihao')}

分析:这里自动去掉了重复的元素,添加的元素也必须是不可变类型,同时符合元素不能重复的条件。

2、clear()

例子

s = {"hello","nicholas","hello",1,(8,"nihao")}

s.clear()print(s)

输出结果

set()

分析:字典的清空结果是{},集合的清空结果是set()

3、copy()

例子

s = {"hello","nicholas","hello",1,(8,"nihao")}

s2=s.copy()print(s2)

输出结果

{(8, 'nihao'), 'nicholas', 'hello', 1}

4、pop()

例子

s = {"nicholas","hello",1,(8,"nihao")}

s.pop()print(s)

输出结果

第一次:

{'hello', 'nicholas', (8, 'nihao')}

第二次

{1, 'nicholas', 'hello'}

分析:由于集合是无序的,这里是随机的删除。

5、remove()

删除指定的元素

例子

s = {"nicholas","hello",1,(8,"nihao")}

s.remove("hello")print(s)

输出结果

{(8, 'nihao'), 1, 'nicholas'}

分析:这里用remove()的参数可以指定删除,如果指定的参数原集合没有则会报错。

6、discard()

指定删除集合中的元素。

s = {"nicholas","hello",1,(8,"nihao")}

s.discard("hello")print(s)

输出结果

{'nicholas', 1, (8, 'nihao')}

例子2

s = {"nicholas","hello",1,(8,"nihao")}

s.discard("nick")print(s)

输出结果

{1, 'nicholas', (8, 'nihao'), 'hello'}

分析:这里discard()里的参数在原集合里没有,但是这里不会报错,只是会输出原集合。

7、用set()将列表去掉重复的元素

利用集合元素不能重复的特点对列表中的元素进行去重。

例子

li1 = ["nicholas","pony","jack","nicholas"]

s1=set(li1)

new_li1=list(s1)print(new_li1 )

输出结果

['jack', 'nicholas', 'pony

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值