list和tuple
先上图
list
list是一种有序的集合,和C中的意义等同,也有一维数组、二维数组和三维数组等。list里面的元素的数据类型是可以不同的,创建一个包含不同数据类型的集合如:
>>> list1 = [10,10.0,'你好!','Hello world!']
>>> list1
[10, 10.0, '你好!', 'Hello world!']
查看list长度的方法是len();
>>> len(list1)
4
索引就是定位到某一个位置上,索引的方法是classmates[];
>>> list1[2]
'你好!'
添加元素append(元素);
>>> list1.append("晓敏")
>>> list1
[10, 10.0, '你好!', 'Hello world!', '晓敏']
如果想在特定的位置上插入新的元素可以使用insert(位置,元素);
>>> list1.insert(2,'好饿啊!')
>>> list1
[10, 10.0, '好饿啊!', '你好!', 'Hello world!', '晓敏']
删除指定位置元素pop(位置)、删除末尾元素pop()
>>> list1.pop(2)
'好饿啊!'
>>> list1
[10, 10.0, '你好!', 'Hello world!', '晓敏']
>>> list1.pop()
'晓敏'
>>> list1
[10, 10.0, '你好!', 'Hello world!']
tuple
tuple也是有序序列,称之为元组,它相较于list不同的是,tuple一旦初始化就不能修改,也没有append(),insert()这样的方法。
>>> tuple1 = ('桌面','杯子')
>>> tuple1
('桌面', '杯子')
虽然tuple不可以修改,但是如果tuple包含有list,该list依然还是可以修改的,如:
>>> tuple2 = ('这是一个新的tuple','闹钟',list1)
>>> tuple2
('这是一个新的tuple', '闹钟', [10, 10.0, '你好!', 'Hello world!'])
>>> list1.insert(2,'好饿啊!')
>>> tuple2
('这是一个新的tuple', '闹钟', [10, 10.0, '好饿啊!', '你好!', 'Hello world!'])
dict和set
dict
dict类似于JAVA中的map,格式:dict = {key:value},优点是:查找和插入的速度极快,不会随着key的增加而变慢;缺点是:需要占用大量的内存,内存浪费。
>>> map = {'height':180,'weight':75}
>>> map
{'height': 180, 'weight': 75}
>>> map['height']
180
set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key,如果输入时有重复的key,set是会将重复的过滤掉的。要创建一个set,需要提供一个list作为输入集合:
>>> s = set(list1)
>>> s
{'Hello world!', 10, '你好!', '好饿啊!'}
>>> list1
[10, 10.0, '好饿啊!', '好饿啊!', '你好!', 'Hello world!']
循环语句
循环有两个方法:for…in…和while,这里需要注意的是它是以“:”结尾的,代码是缩进的(不缩进会报错),不像JAVA是大括号括起来。主动退出循环请调用break。例子:
>>> for i in list1:
... print(i)
...
10
10.0
好饿啊!
好饿啊!
你好!
Hello world!
>>> while len(list1) > 3:
... list1.pop()
... print('list1的长度:',len(list1))
...
'Hello world!'
list1的长度: 5
'你好!'
list1的长度: 4
'好饿啊!'
list1的长度: 3
判断语句
if语句,样式有if…、if…else…、if…else if…(等同于if…elif…)
>>> list2 = [0,1,2,3,4,5,6]
>>> for i in list2:
... if(i == 1):
... print('i == 1, list2[%d]: %d',i,list2[i])
... break
... print(i)
...
0
i == 1, list2[%d]: %d 1 1