for循环:
for i in range(3)
print("循环三次,i值分别打印为0,1,2")
1 name = "li" 2 password = '000' 3 for i in range(3): 4 user = input("username:") 5 pwd = input("pwd:") 6 if name==user and pwd==password: 7 print("welcome li") 8 break 9 else: 10 print("username or pwd is wrong, check again please")
(回看day01自己用while编写的代码)
新接触的数据类型:列表,元组,字典,(补充python字符串)
列表(list):a["li",23,0,nei["cdpi",434,"嵌套"]]
列表中元素可以是字符串,数字,列表,字符
添加列表中的元素list.append(),append是默认在末尾添加元素,insert是指定位置添加,用法:list.insert(2)="a",把元素a插入到list[2]中
删除列表中的元素 del list[1],list.remove("a"),b=list.pop("a"),pop的作用,删除“a”,并返回元素"a"到b中
截取时从左到右索引默认0开始,从右到左默认-1开始
列表的切割,变量[头下标:尾下标]。a[3:6]
a[3:6] 表示从第四个(a[3])到a[6](不包含a[6])
切片跳着取:a[1:-1:1] 或a[1::1] 表示从a[1]取到a[-1](从左到右)的位置,后面的1表示一个一个取,步长为1,反过来从右向左取是a[3::-2],从第三个位置向左取
count方法统计某个元素在列表中出现的次数
b=list["to","be","or","not0","to"].count("to") print(b)
extend方法可以在列表的末尾一次性追加另一个序列中的多个值,(也就是连接列表)
index是通过元素找位置,list.index("a")
list.sort() 排序
list=[3,6,4,7,8,1] list.sort() print(list)
list.reverse() list.sort(reverse=True) (默认reverse=False)
元组tuple:
类似于List,b(),用逗号隔开,元组内部元素不可二次赋值(只读)(列表可以更新)
字典dictionary:
字典无序,通过键对值(key:value)存取,dict{}
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一
del dict['name'] #删除键是name的条目
dict.clear() #清空字典所有条目
del dict #删除字典
print(tinydict.keys()) print(tinydict.values())
['dept', 'code', 'name']
['sales', 6734, 'john']
字典的遍历:
dic={'name': 'alex', 'age': 18} for i in dic: print (i,dic[i]) #item()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回 for key,value in dic.items(): print(key,value)
集合(无序,唯一):
只有一种创建形式:s=set()
s=set('li zhuzhi') s1=['li','we','li'] s2=set(s1) print(s2,type(s2)) #{'li','we'}<class 'set'>
集合对象时一组无序排列的可哈希的值(也就是不可变),集合成员可以作为字典的键
list=[[2,3],3,'lsi'] s=set(list) #报错,[2,3]是不可哈希的,字典也不行
li=[32,'ls',5] #add和update的区别 s=set(li) s.add('as') s.update('xyz') print(s) #{32, 'x', 5, 'z', 'y', 'as', 'ls'}
print(set('liaxinm') == set('liaxins')) #等价 False print(set('liaxin') < set('liaxins')) #包含 True print(set('liaxinm') and set('liaxins')) #取并集 {'x', 'l', 'i', 'a', 'n', 's'} print(set('liaxinm') or set('liaxins')) #取交集 {'x', 'l', 'i', 'm', 'a', 'n'}
a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
成员运算符:
in not in:如果在指定的序列中找到(找不到)值返回True
a=20 list=[1,3,4,6,9] if(a in list): print("变量a在给定的列表list中") else: print("变量a不在给定的列表中")
身份运算符:
is is not:
注:id()函数用于获取对象内存地址
is 与==的区别:
is用于判断两个变量引用对象是否为同一个(同一块内存空间),==用于判断引用变量的值是否相等。
>>> a = [1, 2, 3] >>> b = a >>> b is a True >>> b == a True >>> b = a[:] >>> b is a False >>> b == a True