list,列表
classmates=["Michael","Bob","Tracy"] #创建一个列表list
classmates.sort() #把list的元素进行从小到大的排序,比如1,2,1,2,4,3的list会变成1,1,2,2,3,4
len(classmates) #获取list元素个数
classmates[0] #访问list位置的元素,从0开始,小心越界,最后一个元素的索引为 len(classmates)-1
classmates[-1] #正序从0开始,倒序从-1开始
classmates.append("Adam") #在classmates的末尾增加元素
classmates.insert(2."Feng") #插入指定位置
classmates.pop() #删除末尾元素
classmates.pop(2) #删除指定位置元素
classmates[2]="Hello" #替换指定位置元素
classmate=[1,"good",True] #一个list可以有不同类型的元素
L=[1,2,3,["python","java"],5,6,7] #list可以在另外一个list中作为元素,等效二维数组
L=[] len(L) #list可以为空,没有元素,变成一个空list,长度为0
tuple,元组
tuple一旦初始化就不能修改,因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
定义tuple时,元素必须确定。
t=(1,2)
定义空tuple
t=()
定义只有一个元素的tuple,必须加上逗号
t=(1,)
if <条件判定1>:
<执行1>
elif <条件判定2>:
<执行2>
elif <条件判定3>:
<执行3>
else:
<执行4>
input()函数返回的数据类型为字符型
python的循环包含两种。
一种循环为for......in循环,把列表list或者元组tuple中的元素逐一迭代。
for...x...in 把每个元素代入变量x,然后执行缩进块的语句。
names = [‘Michael‘, ‘Bob‘, ‘Tracy‘]
for name in names:
print(name)
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
range()函数,可以生成一个整数序列,从0开始,左闭右开。通过list()函数可以把range()函数的结果转换为列表list,然后赋值给变量进行调用。
range(5)
>>>L=list(range(10))
>>>L
[01,1,2,3,4,5,6,7,8,9]
一种循环为 while 循环。只要条件满足,就不断循环,条件不满足时退出循环。
sum=0
num=0
while num<=10:
sum=sum+num
num=num+1
print(sum)
break语句可以提前退出循环。
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print(‘END‘)
continue语句,跳过当前的这次循环,直接开始下一次循环。
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
dict,是python内置的字典。全称dictionary,按照 “键(key)--值(value)” 存储,具有极快的查询效率。
>>>d = {‘Michael‘:95,‘Bob‘:88,‘Tracy‘:76}
>>>d[‘Michael‘]
除了初始化指定dict,也可以通过key放入。
>>>d[‘Adam‘]=80
>>>d[‘Adam‘]
一个key对应一个值,若是重复更新key,后面的会覆盖前面的。
通过两种方法,可以判断key是否在dict中存在:一是通过in,二是通过dict自带的get()方法。
>>>‘Themas‘ in d
False
>>>d.get(‘Themas‘)
None #注意,这个None是不会显示的
>>>d.get(‘Themas‘,-1)
-1
dict有以下几个特点:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
所以,dict是用空间来换取时间的一种方法。dict的key必须是不可变对象。
因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。作为key的对象不能变。在Python中,字符串、整数等都是不可变的。
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
set中的元素排列是随机。也是唯一的。重复元素会自动过滤。
>>>s=set([1,2,3])
>>>s
{1,2,3}
>>>s=set([1,1,2,2,3,4,5,6,6,7])
>>>s
{1,2,3,4,5,6,7}
add(key)方法可以把元素添加到set中,可以重复添加,但只有第一次生效。
>>>s.add(10)
>>>s
{1,2,3,4,5,6,7,10}
>>>s.add(10) #重复执行
>>>s
{1,2,3,4,5,6,7,10} #不变化
remove(key)方法可以删除元素。
>>>s.remove(2)
>>>s
{1,3,4,5,6,7,10}