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

本文详细介绍了Python中字典的基本操作,包括创建、修改、复制、遍历等常见用法,并通过实例展示了如何高效地管理和操作字典数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#建立字典
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]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值