参考集合的数学概念:
集合是一个具有"无序性"、“确定性”、"互异性"的数据总体。
由此我们就可以看出集合的性质:无序、互异,也就是说,在集合中的元素可以类型互不相同,顺序也是无序(在集合中的元素不是数字类型的时候),并且一个集合中不会出现两个相同的元素。这就是集合的特性!
比如这个实例:
Set = {'a', 'd', 'e', 'c', 'g'}print(Set)
看到效果,我们可以发现,这不光是无序,而且每次出现的次数还是随机的:
需要注意的是:如果是初始化空集合,必须用这种方式实例化,目的是避免和字典类型初始化空字典相矛盾。如果一定要使用{}的方式创建集合,那只会创建出空字典,如下:
实例展示:
Set1 = set({'abc', 'c'})print(Set1)Set2 = set(('a', 1, 2))print((Set2))Set3 = set(['1', 1, '2', 2])print((Set3))
执行结果如下:
s = set("aaabbbcc")print(s)
结果如下:
*** 作实例如下:
s = set()print(s)s.add("hello")print(s)s.update("world")print(s)s.update([1, 2])print(s)
执行结果如下:
用 {} 的方式创建集合,输出的空集合是字典,而真正的输出空集合应该如上面的那样:set()
第二点:add()方法是直接把add括号内的对象,作为集合中的一个元素加入集合的;而update()方法则是把update括号内的对象,作为一个集合加入集合的,什么叫作为集合加入集合呢?我们可以把update看作两部分:第一部分是把update括号内的对象实例化成一个新的集合:NewSet = set(“对象”),然后我们知道,这样实例化的集合会把对象的每一个字符单独抽出来组成集合,然后进行第二部分:s.add(NewSet),这样就相当于对s和NewSet做了并运算!于是就有了上面的结果。
第三点:update括号内的对象类型可以不是基本数据类型,可以是元组、列表、甚至是集合,字符串。因为它们会像我上一个点说的那样,有两步 *** 作,然后强制类型转换成集合类型,然后做集合的并运算!
1.3.2、移除集合中的元素:remove()方法与discard()方法remove(x):如果x不存在则会返回一个异常如果我们的程序需要捕捉异常并且处理异常,请用remove()方法!
discard(x):不管x在集合中是否存在,都不会返回异常如果我们的程序不需要异常处理,那么就用discard()方法
做一个小小的实例:
s = set("123456789")print(s)s.remove('3')print(s)# s.remove('12')# print(s)s.discard('12')
上述代码大家可以自行实验,可以发现如果把我的注释去掉,就会报错:keyerror
1.4、求出集合的规模:len(Set)1.5、清空集合:Set.clear()1.6、判断某个元素是否在集合中:x in Set1.7、判断集合之间的包含关系:Set1 <= Set21.8、专门想说说集合的无序和有序特点:对整数有序一般来说,我们说集合是无序的,但是对于每一种情况都是无序的吗?意思就是说,如果创建集合的时候,集合的每一个元素都是整数,则这个集合会保持有序的性质。
二、列表:2.1、关于列表:没什么好说的,是序列类型最常见的一种,大多数的 *** 作都和字符串一样,因为字符串本身和列表是很相似的(在C/C++中,数组可以比作列表,字符数组可以比作字符串)。但是和数组不一样的是,列表内的元素类型可以互不相同,而同一个数组的元素类型必须相同且有限制,哪怕C++的容器vector向量出现,也必须保证向量的元素类型相同!而python则没有这个要求!2.2、补充一些列表常用方法:2.2.1、删除列表中的元素:del 关键字
ls = ['abc', 'b', 'cd']del ls[1]print(ls)lt = [1, 2, 3, 4, 5]del lt[1: 2]print(lt)
执行结果如下:
lt = [1, 2, 3, 4, 5]lt.append("hello")print(lt)
输出:[1, 2, 3, 4, 5, “hello”]
2.2.3、向列表某个位置添加元素:insert(index, x)方法lt = [1, 2, 3, 4, 5]lt.insert(2, "hello")print(lt)
输出:[1, 2, “hello”, 3, 4, 5]
总的来说,大概就是这些方法:代码也比较简单,我觉得比较有用的,就是insert(index, x)、append(x)、index(x)、remove(x)、pop(index = -1)、这些比较常用!三、元组
元组和列表的区别,就是元组是静态的,一旦发生变化,只可能重新开辟新的元组空间,赋予新的值给新的元组
四、字典4.1、什么是字典:没什么好说的,就是c++里的map,是一种映射(键值对方式),然后映射嘛,遵循数学定义,一个x不能对应两个y,也就是一个键不能对应两个值,所以说键是唯一的,而一个值可以对应多个键,所以说是值不一定。然后如果想打造一一对应关系呢?那就打造两个键值对相互映射,也就是两个字典!4.2、字典的常用 *** 作:4.2.1、访问、创建、修改、删除字典的内容:
直接对索引指向的字典元素进行处理!
d = dict()d['a'] = 1; d['b'] = 2; d['c'] = 3; d['d'] = 4for key in d: if d[key] % 2 == 0: print(key, d[key])
这里比较重要的一个点就是遍历键集合、因为我们的字典是键值对形式的,所以只要能够遍历键集合,那么就能遍历字典内容!
输出:
b 2
d 4
以上是内存溢出为你收集整理的python语言程序设计(一):基础语法(4)全部内容,希望文章能够帮你解决python语言程序设计(一):基础语法(4)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)