列表
列表命名
a=[1,2,3,4,5]
列表的基本操作
1. 获取元素的值
print(a[0])
print(a[1])
##以此类推获得第1,2,3,4,5个元素的值
2. 操作列表
修改列表的元素:直接赋值。
a[4]=88
print(a[4])
向列表添加元素
a.append('zs')#向末尾添加
a.insert(0,'zs')#在第一个位置添加
列表删除元素
a.pop(0)
a.remove('zs')
获取列表长度
len(a)
列表排序
永久排序
list.sort(a)
临时排序
print(sorted(a))#输出临时排序
print(a)#再输出可以看到临时排序不起作用了
颠倒排序
a.reserve()
循环
for 循环
names=['zhangsan','lisi','wangwu','zhaoliu' ]
for name in names:
print('hello',name) # 注意两个点 一个是for循环的第二行要缩进,这个是要注意的,其次 for循环第一行的冒号不能漏掉
for index in range(len(names)):
print('hello',name[index]) #index是序数,len(name)在这个例子中也可以用4代替掉 因为它的长度为4,print函数中,name[index]就是用于遍历的 只是它的范围只有4
for index in range (2):
print("I want to eat",causes[index])
'''这里可以看出range的范围是2,所以它只遍历到前两个元素'''
'''由这个输出结果可以看出 range的范围是[0,5)并不包含5,即0,1,2,3,4'''
range(0,100,10)
'''这个就代表由0-100,以10为间隔,但由于他是不包含右边的 即不包含100,所以它的数列是 0 10....90'''
for num in range(0,100,10):
print(num)
while 循环
注意要规定跳出条件,不要让循环成为死循环
num=0
while(num<9):
print("num:",num)
num=num+1
print(num)
'''可以看见这个循环只输出到8,但是其num值最终成为了9'''
num=0
while(num<9):
num=num+1#num+=1
print("num:",num)
print(num)
'''可以看见这次循环输出到9,且最后的num值也是9'''
continue&break 跳出循环
'''
continue跳出循环
'''
num=0
while(num<9):
num=num+1
if num % 2 == 0:
continue # 就是说如果num的值是偶数则跳出循环,是奇数的时候就继续这个循环
print("num:",num)#可以看出输出的都是奇数,输出到9
print(num)#最终num值是9
'''
break跳出循环
'''
num=0
while(num<9):
num=num+1
if num%2==0:
break #当是偶数的时候立刻终止循环,后续不再继续执行
print("num:", num)
print(num)
num=0
while(num<9):
print("num:",num)
num=num+1
if num%2==0:
continue
'''
可以看见continue语句放在这个位置,它并不影响while的输出,因为即使你跳出了循环,你也是要继续的,还会输出 还会加1
'''
num=0
while(num<9):
print("num:",num)
num=num+1
if num%2==0: ##判断要用两个等号
break
'''
可以看见break放在这里对while循环是有影响的,
'''
字典
字典的定义
列表是使用方括号定义的[ ],而字典使用花括号定义的{ };字典以键值对的方式存储数据,字典是一个无序的序列。列表是有序地,第一个元素可用a[0]表示,但是字典不是。因为字典的存储是通过hash函数计算存储位置,所以字典是一个不可变序列。(题外话:字符串也是不可变序列)
scores={'zhangsan':100,'lisi':90}
字典的创建
可以使用花括号和内置函数dict
scores={ '张三':100,'王五':45}#使用花括号
dict=(name='jack',age=20)#使用内置函数dict,存储 jack 20 岁
字典元素的操作
字典中元素的获取
两种方法:
方法一:
scores['zhangsan']
方法二:
scores.get('zhangsan')
总结:
print(scores['zhangsan'])
print(scores.get('zhangsan'))
如果查找的键不存在,那么花括号的使用将报错keyerror,但是get函数不会报错会返回none的值。这是他们的区别
元素在字典中是否存在的判断
in 或 not in
'''键的判断'''
print('zhangsan' in scores)
print('zhangsan' not in scores)
删除字典的键(元素)
del scores ['zhangsan'] # 删除字典中张三这个键
print(scores)
scores.clear() #代表清空
添加新元素(修改元素)
scores['chenliu']=98 #添加新元素
获取字典视图
三个方法
方法一:
keys() #用于获取字典中所有的key
'''获取所有的key'''
names=scores.keys()
print(names)
print(type(names))
print(list(names))#将从字典中提取出来的键用列表表示出来
方法二:
values() #用于获取所有的值
'''获取所有的值'''
scs=scores.values()
print(scs)
print(type(scs))
print(list(scs))#用列表的形式输出
方法三:获取所有的键值对
'''获得字典中所有的键值对'''
its=scores.items()
print(its)
print(list(its))#用列表的形式输出键值对
字典元素的遍历
'''字典的遍历'''
for index in scores:
print(index,scores.get(index),scores[index])#index 表示在字典中的键,scores[]和scores.get()都是用于获取values的
字典生成式
使用内置函数zip()
'''利用内置函数zip()生成字典'''
nas=['zhangsan','zhaoliu','lisi','wangwu']
scos=[66,77,88,99]
scores2=zip(nas,scos)
print(list(scores2))
'''利用内置函数,并遍历'''
d= {nas:scos for nas,scos in zip(nas,scos)}
print(d)
nas.upper()
'''把键的输出形式弄成大写'''
f = {nas.upper():scos for nas,scos in zip(nas,scos) }
print(f)