day02_python-for,列表,元组,字典,集合

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

 

posted @ 2020-05-30 12:50  xinZhiZhu  阅读(228)  评论(0编辑  收藏  举报