python之变量操作

变量类型

Number(数字)       包括int,long,float,double,complex
String(字符串)     例如:hello,"hello",hello
List(列表)         例如:[1,2,3],[1,2,3,[1,2,3],4]
Dictionary(字典)   例如:{1:"nihao",2:"hello"}
Tuple(元组)        例如:(1,2,3,abc)
File(文件)         例如:f = open(a.txt,rw)

关于数字和字符串的操作这里略过,注意的是字符串是不允许跟数字相加的(java允许)

一、元组

 元组是一组不可修改的元素的集合

 

#定义一个4个元素的元组对象 类型可以不一样
tuple=("basketball","football","pingpong",1)
print tuple[0]
print tuple[-1]
#元组的切片操作 从0开始算 到目标的前一位
tuple2=tuple[1:3]
print tuple2
tuple3=tuple[0:-2]
print tuple3
#定义一个2微元组
tuple4=(tuple2,tuple3)
print tuple4
print tuple4[0][1]
#tuple[0]="edit" #元组不支持修改 只元素读取
t=(1,)
print t
print t.__len__()
print tuple4[0].__len__()
#遍历元组 range
for i in range(len(tuple4)):
    print "tuple[%d]:"%i,"",
    for j in range(len(tuple4[i])):
        print tuple4[i][j],"",
        
print "\n"        
#使用map()循环遍历

''' '''   
k=0
for a in map(None,tuple4):
    print "tuple[%d]:" %k,"",
    for x in a:
        print x,"",
    print  
    k+=1

结果:

basketball
1
('football', 'pingpong')
('basketball', 'football')
(('football', 'pingpong'), ('basketball', 'football'))
pingpong
(1,)
1
2
tuple[0]:  football  pingpong  tuple[1]:  basketball  football  

tuple[0]:  football  pingpong 
tuple[1]:  basketball  football 

任何至少包含一个上元素的元组为真值。元素的值无关紧要。为创建单元素元组,需要在值之后加上一个逗号。没有逗号,Python 会假定这只是一对额外的圆括号,虽然没有害处,但并不创建元组

二、列表

 列表也是一组元素的集合,它不同与于元组的是,列表中的元素是可以修改的。

#*******列表的操作********
#定义一个列表
list=["android","ios","wp8","others"]
print list
#输出第三个列表元素
print list[2]
#追加一个元素
list.append("others2")
print list
#指定位置插入一个元素
list.insert(1, "insert")
print list
list.remove("insert")
print list
#反转列表
list.reverse()
#弹出最后一个元素
print list.pop()
list.pop(1)
print list
#切片操作
print list[1:2]
print list[1:-3]
#定义一个二元列表
list=[["apple","banana"],["orange","watermelon"]]
#循环列表
for i in range(len(list)):
    print "list[%d]:"%i,"",
    for j in range(len(list[i])):
        print list[i][j],"",
    print
#获取列表的索引
list=["android","ios","wp8","others"]
print list.index("android" )    
#判断某对象是否是列表元素成员(跟struts2的投影一样 犀利)
print "android" in list
list2=["sugarcane"]
#append 追加的是一个对象列表
list.append(list2)
print list
#extends和+都是追加一个元素
list.extend(list2)
print list
list+=["other"]
print list
list.sort()
print list
print list.__len__()
print list[0][0]
#不删除 无法排序
list.remove(["sugarcane"])
print list
list+=["other"]
print list
#过滤掉重复的元素
for i in sorted(set(list)):
    print i,"",
print

#复制
list=[1,2]
b=list#如果是b=list 则会互相影响
print list
b.remove(1)
print list
list=[1,2]
b=list[:]#纯复制 不受互相影响
b.remove(1)
print list

查看结果

View Code
['android', 'ios', 'wp8', 'others']
wp8
['android', 'ios', 'wp8', 'others', 'others2']
['android', 'insert', 'ios', 'wp8', 'others', 'others2']
['android', 'ios', 'wp8', 'others', 'others2']
android
['others2', 'wp8', 'ios']
['wp8']
[]
list[0]:  apple  banana 
list[1]:  orange  watermelon 
0
True
['android', 'ios', 'wp8', 'others', ['sugarcane']]
['android', 'ios', 'wp8', 'others', ['sugarcane'], 'sugarcane']
['android', 'ios', 'wp8', 'others', ['sugarcane'], 'sugarcane', 'other']
[['sugarcane'], 'android', 'ios', 'other', 'others', 'sugarcane', 'wp8']
7
sugarcane
['android', 'ios', 'other', 'others', 'sugarcane', 'wp8']
['android', 'ios', 'other', 'others', 'sugarcane', 'wp8', 'other']
android  ios  other  others  sugarcane  wp8 
[1, 2]
[2]
[1, 2]

可用的方法 tuple()可将列表转化为元组

同样list() 可将元组转化为列表

元组不可修改 也就没有 pop() remove() del()等方法

#元组的特点
>>> v = ('a', 2, True)

>>> (x, y, z) = v 

>>> x

'a' 

>>> y 

2 

>>> z

True

 三、集合

集合的特点
1.无序
2.唯一一个不重复值的容器
3.元素不允许是List或则dict 如果tuple中包含了List或则dict
也是不允许加入到集合中的

 

#****1.创建一个集合 *****
set_one={2,3,True,2}
print set_one
print len(set_one)#获取集合的个数
#****2.添加元素 *****
set_one.add(5)#添加元素
print set_one
#****3.判断某元素是否是在结合中 *****
print 5 in set_one 
set_two={1,2,6}#定义第二个集合
#****4.判断某集合是否是另外一个集合的子集 *****
print set_two.issubset(set_one)
#****5.获取第二个集合没有的集合元素 *****
one_mil_two=set_one-set_two
print one_mil_two
empty_dict={}#这种方式定义的不是集合 而是字典
#****6.定义一个空的集合 *****
empty_set=set()
print empty_set#打印记过 set([])
#****7.求两个集合的交集*****
union_set=set_two.intersection(set_one)#
print union_set
#****8.求两个集合的并集*****
all_set=set_two.union(set_one)#
print all_set
a=set()#定义一个空的集合
#****9.给集合对象赋值*****
a={1,2}
print a
a=set([1,2,"aa"])#
print a
a=set((1,2,"bb"))
print a
#****10.将集合转成字符 *****
c=[str(x) for x in a]#无比强大的功能
s="".join(c)
print(s)
#****11.将集合转成列表*****
list=list(a)
list.sort()
print list #由于在python中 都是由ascii码组成 而数字的ascii在字母前面
#****12.集合的运算符*****
print {1,2}|{2,3}#并集
print {1,2}&{2,3}#交集
print {1,2}-{2,3}#差集
print {1,2}^{2,3}#13 ==并集-交集
#****13.集合的方法(重新复习一次)*****

a=set([1,2])
b={2,3}
print "集合元素的个数:%d"%len(a) 
print "1是否是集合中的一元:",1 in a
print "a,b集合合并",a.union(b)#a|b
print "a,b集合交集",a.intersection(b)#a&b
print "a,b集合中只在a出现不在b出现的元素",a.difference(b)#a-b
print a.symmetric_difference(b)#a^b
print "a是否是b的子集",a.issubset(b)
print a.issuperset({1})
print "a是否是b的超集",a.issuperset(b)#
a.difference_update(b)#删除a中含有b元素的元素
print a
b.remove(2)#删除2
print b
a.discard(1)#如果a中含有1 则删除
print a
a=set((1,2))
a.pop()
print a
a.clear()#删除所有元素
print a

查看结果

View Code
set([True, 2, 3])
3
set([True, 2, 3, 5])
True
False
set([3, 5])
set([])
set([1, 2])
set([1, 2, 3, 5, 6])
set([1, 2])
set(['aa', 1, 2])
set([1, 2, 'bb'])
12bb
[1, 2, 'bb']
set([1, 2, 3])
set([2])
set([1])
set([1, 3])
集合元素的个数:2
1是否是集合中的一元: True
a,b集合合并 set([1, 2, 3])
a,b集合交集 set([2])
a,b集合中只在a出现不在b出现的元素 set([1])
set([1, 3])
a是否是b的子集 False
True
a是否是b的超集 False
set([1])
set([3])
set([])
set([2])
set([])

 

请注意:非运算符版本的 update(), intersection_update(), difference_update()和symmetric_difference_update()将会接受任意 iterable 作为参数。从 2.3.1 版本做的更改:以前所有参数都必须是 sets。

还请注意:这个模块还包含一个 union_update() 方法,它是 update() 方法的一个别名。包含这个方法是为了向后兼容。程序员们应该多使用 update() 方法,因为这个方法也被内置的 set() 和 frozenset() 类型支持。

 四、字典

 

a_dict={"name":"lwx","pwd":"123"}#创建一个字典
print(a_dict)
print "您好:",a_dict["name"]#获取字典的一个元素
a_dict["pwd2"]="456"#为字典新增一个元素
print "字典对象的元素数量:",len(a_dict)
tuple=[1,2]
a_dict["yz"]=tuple#存放元组对象的元素
print a_dict
a_dict.pop("yz")#删除某个元素
print a_dict
del a_dict['pwd2']#删除某个元素
print a_dict
#键值交换
b_dict={value:key for key,value in a_dict.items()}
print b_dict

 

结果

{'pwd': '123', 'name': 'lwx'}
您好: lwx
字典对象的元素数量: 3
{'pwd': '123', 'yz': [1, 2], 'name': 'lwx', 'pwd2': '456'}
{'pwd': '123', 'name': 'lwx', 'pwd2': '456'}
{'pwd': '123', 'name': 'lwx'}
{'lwx': 'name', '123': 'pwd'}

 

 

 

posted @ 2012-11-29 16:21  draem0507  阅读(1930)  评论(0编辑  收藏  举报
View Code