python学习(基础补充)--字典、条件语句、循环

xiaoxiao2021-02-28  103

#建立字典 items = [('name', 'hdb'), ('age', 42)] d = dict(items) print d #{'age': 42, 'name': 'hdb'} d = dict(name = 'hdb', age = 42) print d #{'age': 42, 'name': 'hdb'} #清除字典的所有项 items = {'age': 42, 'name': 'hdb'} print items.clear() #None print items #{} #浅拷贝 items = {'age': 42, 'name': ['hdb', 'whw', 'lxh']} y = items.copy() y['age'] = 23 #替换不影响原来的值 y['name'].remove('whw') #删除影响原始字典 print y #{'age': 23, 'name': ['hdb', 'lxh']} print items #{'age': 42, 'name': ['hdb', 'lxh']} #深拷贝 from copy import deepcopy items = {'age': 42, 'name': ['hdb', 'whw', 'lxh']} y = items.copy() z = deepcopy(items) y['age'] = 23 #替换不影响原来的值 y['name'].remove('whw') #删除影响原始字典 print y #{'age': 23, 'name': ['hdb', 'lxh']} print items #{'age': 23, 'name': ['hdb', 'lxh']} print z #{'age': 42, 'name': ['hdb', 'whw', 'lxh']} #给定的键建立新的字典 d = {}.fromkeys(['age', 'name']) f = dict.fromkeys(['age', 'name']) print d #{'age': None, 'name': None} print f #{'age': None, 'name': None} #访问字典项 items = {'age': 42, 'name': ['hdb', 'whw', 'lxh']} d = items.get('name') print d #['hdb', 'whw', 'lxh'] #将字典所有项以列表方式返回,列表每一项表示为(键, 值) it = {'age': 42, 'name1': 'hdb', 'name2': 'whw', 'name3': 'lxh'} d = it.items() print d #[('age', 42), ('name1', 'hdb'), ('name2', 'whw'), ('name3', 'lxh')] #跟items一样的功能,不过iteritems()返回的是迭代器对象而不是列表 it = {'age': 42, 'name1': 'hdb', 'name2': 'whw', 'name3': 'lxh'} d = it.iteritems() print d # d = it.items() #<dictionary-itemiterator object at 0x...> print d #[('age', 42), ('name1', 'hdb'), ('name2', 'whw'), ('name3', 'lxh')] #随机弹出列表的一项 it = {'age': 42, 'name1': 'hdb', 'name2': 'whw', 'name3': 'lxh'} d = it.popitem() print d #('age', 42) print it #[('name1', 'hdb'), ('name2', 'whw'), ('name3', 'lxh')] #设定字典中不存在的项,并返回与给定键相关联的值 it = {'age': 42, 'name1': 'hdb', 'name2': 'whw', 'name3': 'lxh'} d = it.setdefault('name4', 'wy') print d #wy print it #{'age': 42, 'name4': 'wy', 'name1': 'hdb', 'name2': 'whw', 'name3': 'lxh'} #利用一个字典更新另一个字典 it = {'age': 42, 'name1': 'hdb', 'name2': 'whw', 'name3': 'lxh'} d = {'name4': 'wy'} it.update(d) #wy print it #{'age': 42, 'name4': 'wy', 'name1': 'hdb', 'name2': 'whw', 'name3': 'lxh'} #返回字典中的值,返回值中列表可以包含重复元素 it = {'age': 42, 'name1': 'hdb', 'name2': 'whw', 'name3': 'whw'} d = it.values() print d #{'42,'hdb','whw','whw'} #使用逗号输出 name1 = 'hdb' name2 = 'whw' name3 = 'lxh' print name1, name2, name3 #hdb whw lxh #模块导入函数 import somemodule 或者 from somemodule import somefunction 或者from somemodule import * #elif是else if的简写 num = input('Enter a num: ') if num > 0: print 'The number is positive' elif num < 0: print 'The number is negative' else: 'The number is zero' #in 成员资格运算符 name = raw_input('what's you name: ') if 'hdb' in name: print 'yes' else: print 'no' #同性(同一性而不是相等性)运算符,判断是否为同一个对象 x = 'hdb' y = 'hdb' print x is y #字符串比较 print "hdb" > "whw" #False #忽略大小写比较,lower返回小写, upper返回大写 print 'HDB'.lower() == 'hdb'.lower() #True print 'HDB'.upper() == 'hdb'.upper() #True #for循环 names = ['hdb', 'whw', 'lxh'] for name in names: print name #hdb #whw #lxh #并行迭代 names = ['hdb', 'whw', 'lxh'] ages = [23, 21, 22] for i in range(len(names)): print names[i], 'is', ages[i], 'years old' #hdb is 23 years old #whw is 21 years old #lxh is 22 years old #并行迭代,把两个序列压缩在一起,返回一个元组的列表 d = zip(names, ages) print d #[('hdb', 23),('whw', 21),('lxh', 22)] #列表推导式,轻量级循环 t = [x*x for x in range(5)] print t #[0, 1, 4, 9, 16] f = [x*x for x in range(5) if x % 3 == 0] print f #[0, 9]
转载请注明原文地址: https://www.6miu.com/read-37381.html

最新回复(0)