上海信盈达IT培训学校 |
元组和集合
1. 元组是有序的集合
a = (1,2,3)
2. 通过偏移来取数据,也是通过下标来取,和列表一样。区别就是list是可变的,元组是不可变的。
a[0] 输出为1
a[1:3] 输出为(2,3)
3. 属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。
dir(a)可以看到所有支持的方法
要想修改元组,需要先把元组重新赋值给一个列表,然后修改列表元素,之后再把列表转变给元组。方法如下
b = list(a)
b[0] = 5
type(b) 输出为list
a = tuple(b) #生成了一个新的元组对象
a
输出为(5,2,3)
tuple类型转换
那为什么有列表还要有元组呢?
元组不可变的好处。增加数据的安全,比如我们传给一个不熟悉的方法或者数据接口,确保方法或者接口不会改变我们的数据从而导致程序问题。
例子1
#encoding=utf-8
def info(a):
print "id %d" % id(a)
#a[0] = "haha" 个脚本完成后加这行进行测试
#return a 这行也是测试的
a = [1,2,3]
print "start-"
print id(a)
info(a)
#print a 测试用的
另外一种方法
#encoding=utf-8
def info(a):
b = a[:] #这里生成了一个新的列表对象,b的变化,不会影响下面a的输出。
b[0] = "haha"
return a
a = [1,2,3]
print "start-"
print id(a)
info(a)
print a
二. 集合
集合是没有顺序的概念。所以不能用切片和索引操作。
1. 创建集合
set():可变的
a = set("abc")
a
输出为set(['a', 'c', 'b'])
不可变的frozenset():
>>> a = frozenset("abc")
>>> a
frozenset(['a', 'c', 'b'])
>>> a.add("222")
Traceback (most recent call last):
File "
AttributeError: 'frozenset' object has no attribute 'add'
>>> a.remove("a")
Traceback (most recent call last):
File "
AttributeError: 'frozenset' object has no attribute 'remove'
查看对象是否可迭代的方法
用dir进行查看,比如dir(a),如果输出中有"_iter_",说明可以进行迭代。
2. 添加操作: add,update
add函数
a.add("python")
a
输出为
set(['a', 'python', 'c', 'b']) #"python"做为一个整体来加入。
update函数
>>> b = set("hong")
>>> b
set(['h', 'g', 'o', 'n'])
>>> b.update("python")
>>> b
set(['g', 'h', 'o', 'n', 'p', 't', 'y']) #python分开来插入,如果重复自动忽略
注意:
update的参数也可以是list,如果使用list,那么集合中新加的元素还会保持原先list中的顺序。
比如c='hong'
b.update(list(c))
3. 删除 remove
a.remove("python")
a
输出为
set(['a', 'c', 'b'])
4. 成员关系 in,not in
"c" in a
True
"h" not in a
True
5. 交集,并集,差集 & | -
a = set('abcd')
b = set('bcdef')
a & b
set(['c','b','d'])
a | b #并集
set(['a','c','b','e','d','f'])
a - b #差集
set(['a'])
6. set去重
例子
>>> a = [1,2,3]
>>> a.append(1)
>>> a.append(3)
>>> a
[1, 2, 3, 1, 3]
>>> set(a)
set([1, 2, 3])
>>> list(set(a))
[1, 2, 3]
全民Python时代 你了解Python吗?
主流编程语言 Python , 是一门简单易学、功能强大、灵活的编程语言。 它能够把用其他语言制作的各种模块很轻松地联结在一起,常被昵称为“胶水语言”。 |
功能强大的编程语言 Python可以说功能强大,系统运维、图形处理、数学处理、文本处理、数据库编程、网络编程、web编程、多媒体应用、pymo引擎、黑客编程、爬虫编写、机器学习、人工智能等等都用到python。 |
看重政策支持的语言 发布《新一代人工智能发展规划》,人工智能正式纳入发展战略。 教育部已将人工智能划入高中新课标;计算机二级考试新“Python 语言程序设计”科目..... |
企业越来越热衷的语言 Python的应用特别广,外众多企业尤其是大型企业都在使用Python作为关键的开发语言之一,如谷歌、NASA、YouTube、Facebook、百度、阿里、网易、新浪、搜狐等等。 |
零基础适学 实战学习助你焕然薪升
职业规划有方向 赢在就业起跑线
学好python zero逆袭hero
毕业学员薪资统计
福利 从培训到就业的无缝对接
尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/news/139113/违者必究! 以上就是上海信盈达IT培训学校 小编为您整理上海徐汇区Python培训班怎么样的全部内容。