您的位置:首页 > 编程语言 > Python开发

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

2017-08-05 21:10 645 查看
#建立字典
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 *
4000

#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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: