列表
1.定义
#定义一个空列表
>>>list = []
#定义一个包含元素的列表,元素可以是任意类型,包括数值类型,列表,字符串等均可。
2.索引
#下标是从0开始计算
#list[0]读取的是列表的第1个元素;
#list[-1]读取的是列表的倒数第1个元素;
>>>list = ['HnSoi',22,'male',['Hsw','HanSongwei']]
>>>list[3][0]
>>>Hsw
3.切片
>>>list[x:y:z]
#x->代表从哪个索引开始切片;
#y->代表切片到哪个位置,并且不包含第y个索引;
#z->代表切片的步长;
4.添加
>>>list.append('Hello')
>>>list
>>>['HnSoi',22,'male',['Hsw','HanSongwei'],'Hello']
>>>list.insert(0,'Hi')
>>>list
>>>['Hi','HnSoi',22,'male',['Hsw','HanSongwei'],'Hello']
>>>list.extend(Xi)
>>>list
>>>['Hi','HnSoi',22,'male',['Hsw','HanSongwei'],'Hello','X','i']
>>>list.extend(['xi','Ha'])
>>>list
>>>['Hi','HnSoi',22,'male',['Hsw','HanSongwei'],'Hello','X','i','Xi','Ha']
5.修改
>>>list[0]='HaHa'
>>>list
>>>['HaHa','HnSoi',22,'male',['Hsw','HanSongwei'],'Hello','X','i','Xi','Ha']
6.查看
#查看列表元素下标
>>>list.index('HnSoi')
>>>1
#查看列表元素出现次数
>>>list.count('HnSoi')
>>>1
7.删除
#删除列表元素
>>>list.remove('HnSoi')
>>>list
>>>['HaHa',22,'male',['Hsw','HanSongwei'],'Hello','X','i','Xi','Ha']
>>>list.remove(list[1])
>>>list
>>>['HaHa','male',['Hsw','HanSongwei'],'Hello','X','i','Xi','Ha']
#弹出列表最后一个元素
>>>list.pop()
>>>'Ha'
>>>list
>>>['HaHa','male',['Hsw','HanSongwei'],'Hello','X','i','Xi']
#弹出下标为零的元素
>>>list.pop(0)
>>>'HaHa'
>>>list
>>>['male',['Hsw','HanSongwei'],'Hello','X','i','Xi']
##当元素全部弹出后执行list.pop()报错
#删除列表
>>>del(list)
##列表实现出入栈##
#!/bin/env python
#coding:utf-8
HnSoi = []
def push():
item = raw_input("New item: ")
HnSoi.append(item)
def pop():
if len(HnSoi) == 0:
print "This is an empty stack !"
else:
print "%s pop from stack" %HnSoi.pop()
def view():
print HnSoi
def showmenu():
pro = '''
请输入: '''
while True:
choice = raw_input(pro).lower()
if choice == 'u':
push()
elif choice == 'o':
pop()
elif choice == 'v':
view()
elif choice == 'q':
print "退出"
break
else:
print "请输入 u/U o/O v/V q/Q :"
print '''
^欢迎使用^
您可以输入以下符号执行相应功能
U/u - 入栈 O/o - 出栈
V/v - 查看 Q/q - 退出
'''
showmenu()
元组
1.定义
#定义空元组
>>>tuple = ()
#定义单个值的元组
>>>tuple = ('HnSoi')
#一般的元组
>>>tuple = ('HnSoi', 22, 'male')
2.特性
#不能对元组的值任意更改
#可修改特例,可修改元组中的列表
>>>tuple = (1,2,3,[4,5])
>>>tuple[3][0]=10
>>>tuple
>>>(1,2,3,[10,5])
#对元组分别赋值,引申对多个变量也可通过元组方式分别赋值
>>>tuple = ('HnSoi', 22, 'male')
>>>name,age,gender=tuple
>>>print name,age,gender
>>>HnSoi 22 male
#3.索引,切片等操作同列表
集合
1.定义
#集合是一个有序的,不重复的数据组合。
>>>set={1,8,45,5,56,2,2,8}
>>>set
>>>{1,2,5,8,45,56}
2.集合关系
>>>list_1={1,2,3,4,5}
>>>list_2={1,2,3,6,8}
#交集:
>>>list_1.intersection(list_2)
>>>{1, 2, 3}
#并集:
>>>list_1.union(list_2)
>>>{1, 2, 3, 4, 5, 6, 8}
#差集:
>>>list_1.difference(list_2)
>>>{4, 5}
>>>list_2.difference(list_1)
>>>{6, 8}
#对等差分
>>>list_1.symmetric_difference(list_2)
>>>{4, 5, 6, 8}
#子集
>>>list_1.issubset(list_2)
>>>False
#父集
>>>list_1.issuperset(list_2)
>>>False
#有无交集
>>>list_1.isdisjoint(list_2)
>>>False
#交集:
>>>list_1 & list_2
#并集:
>>>list_1 | list_2
#差集:
>>>list_1 - list_2
>>>list_2 - list_1
#对等差分
>>>list_1 ^ list_2
3.添加
#在集合中添加一项
>>>s={1,2,3}
>>>s.add(10)
>>>s
>>>{1, 2, 3, 10}
#在集合中添加多项,跟的参数应该是可迭代类型
>>>s.update([1,3,4])
>>>s
>>>{1, 2, 3, 4, 10}
4.删除
#删除集合中指定的元素