码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础(二)

时间:2016-05-29 00:38:16      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:

set集合:
set是一个无序,不重复元素的集合。可嵌套列表,字典(可以for循环或者迭代的对象)。
-------------------------------------------------------------------------
######差集:
a={11,22}
b={22,33}
c=a.difference(b)                #a中存在,b中不存在
d=b.difference(a)               #b中存在,a中不存在
print(c)   -- {11}
print(d)   --{33}
####增删
集合add方法:是把要传入的元素做为一个整个添加到集合中,例如:
>>> a = set(boy)
>>> a.add(python)
>>> a
set([y, python, b, o])
#####集合update方法:是把要传入的元素拆分,做为个体传入到集合中,例如:
>>> a = set(boy)
>>> a.update(python)
>>> a
set([b, h, o, n, p, t, y])

#删除元素
#随机移除某个元素,没有会报错
b={11,22,33}
ret=b.pop()
print(b)
 
print(ret)
#删除一个元素,没有不会报错
d={1,2,3,4,5}
d.discard(2)
print(d)

#接收可以被for循环(可迭代)的对象
list = [1,2,3,4,5]
set1={1,2}
set.update(list)
print(set1)
实例:
找出两个字典变化的值
old_dict={ "#1":4, "#2":8, "#4":4, }
new_dict={ "#1":8, "#2":8, "#3":4, #加逗号肯定不会报错,不加可能会有错误 }
#取值,取出字典的key
old_key=old_dict.keys() new_key=new_dict.keys()
#将key转换成集合
old_set=set(old_key) new_set=set(new_key)
#新中存在,旧的不存在,打印出需要删除的
remove=old_set.difference(new_set) print(remove)
#需要更新的,
update=new_set.difference(old_set) print(update)
#需要添加的
add=old_set.difference(new_set)
 
列表:list是一种有序的集合,可以随时添加和删除其中的元素。
   用一个变量存储更多的值
     eg: name=[sz,yz,xz]
num=[1,2,3,4,5,6,7,8,9,1,23,4,5,54,5,5]
#可以通过下标查找元素,下标从0开始
>>>num[-1]       #-1代表列表中最后一个元素
>>>5
>>>num[0]        #第一个元素
>>>1
>>>num[-3]        #取出列表倒数第三个元素
>>>54 
##如果取值的下标超过列表的总长度就会报错 
****下标是从0开始
###############
#返回的值是True或false
print(3 in num)
#查看列表中有几个5
print(num.count(5))
#查看一个元素在列表中的下表,找到第一个值以后,不会继续查找,直接返回第一个值的下表
print(num.index(5))
#通过len()内置函数可以查看列表的元素个数
len(num)
------------
####切片
user=[zhangsan,lisi,liuwu,zhaoliu,wangqi,1,2,3,4]
#打印出下标2到8的元素
print(user[2:8])
print(user[0:3])      #取0到第3个元素,不包含第4个,0可以不写
print(user[:-3])      #打印从0到倒数第3个元素
print(user[-3:])      #取最后三个元素
print(user[::2])          #跨步取值

----------------------------------------------------------------
###增删改查
增加:
user=[zhangsan,lisi,liuwu,zhaoliu,1,2,1,wangqi,1,2,3,4]
user.append("test")         #在列表最后追加一个元素
删除:
#删除为1的元素,如果有多个1,那么删除从左往右的第一个。
user.remove(user[1])
#删除一个内存中的数据,删头不删尾
del user[3:4]

更改:
user[1]=coffee             #将第二个元素改为coffee
user1 = [a,b,c,d]
user2 = [e,f,g,h]
#插入数据
user.insert(1,user1)         #插入一个数据,下标为1
user.insert(3,user2)         #插入一个数据,下标为3
#统计
user.count(1)              #统计1元素的个数
user.sort()                  #将列表排序
user.reverse()               #将列表反转
#遍历列表
for i in user:
    print(i)

#实例 循环更改列表中元素的值
num = [1,2,3,4,5,3,[3,3,3],6,7,7,8,9,9,9,9,9,5,6,6,6,7]
#num.count统计列表中这个元素有几个
#这里有几个,就循环几次
for i in range(num.count(9)):
#这里统计每个元素的下表是几
    real = num.index(9)
#通过下标来更改元素的值
    num[real] = HHHHHHHHHHH
#打印
print(num)
############################
实例: 将新列表合并到num列表里
num = [1,2,3,4,5,3]
num1 = [zeng,xian]
num.extend(num1)
print(num)
元组
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。
tuple一旦初始化,就不能更改
例如
name=(‘test‘,‘study‘)
同样可以通过下标来查询
name[0]
name[1]
如果定义只有1个元素的元组
t1 = (1)
这里就会有歧义,你定义的不是元组,是1这个数,()当成了数学中的括号,所以你在定义一个元素时,后面要加一个逗号。
t1 = (1,)
---------------
字典: 无序,使用键值对存储,具有极快的查找速度。
dict特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
list:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。

 
 


Python基础(二)

标签:

原文地址:http://www.cnblogs.com/Z-style/p/5538556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!