字典
>>> a={'name':'gaoqi','age':18,'dd':[23,4]}
>>> a
{'name': 'gaoqi', 'dd': [23, 4], 'age': 18}
>>> b=dict(name='gaoqi',age=18)
>>> b
{'name': 'gaoqi', 'age': 18}
>>> c={}
>>> c
{}
>>> d=dict()
>>> d
{}
>>> a=dict([('name','gaoqi'),('age',18)])
>>> a
{'name': 'gaoqi', 'age': 18}
#用zip()创建字典
>>> k=['a','b','c']
>>> v=[10,55,15]
>>> d=dict(zip(k,v))
>>> d
{'a': 10, 'c': 15, 'b': 55}
>>> #通过fromkeys创建值为空的字典
>>> a=dict.fromkeys(['a','b','c'])
>>> a
{'a': None, 'c': None, 'b': None}
字典元素的访问
>>> a={'name':'gaoqi','age':18,'dd':[23,4]}
>>> a['name']
'gaoqi'
>>> #通过get()方法获得‘值’
>>> a.get('name')
'gaoqi'
>>> a.get('ddd')
>>> a
{'age': 18, 'name': 'gaoqi', 'dd': [23, 4]}
>>> #列出所有的键值对
>>> a.items()
dict_items([('age', 18), ('name', 'gaoqi'), ('dd', [23, 4])])
>>> #列出所有的键,列出所有的值
>>> a.keys()
dict_keys(['age', 'name', 'dd'])
>>> a.values()
dict_values([18, 'gaoqi', [23, 4]])
>>> #len()键值的个数
>>> len(a)
3
>>> #检测一个“键”是否在字典中
>>> 'name' in a
True
字典元素的添加、修改和删除
a={'name':'gaoqi','age':18,'dd':[23,4]}
a['address']='四单元'
>>> a
{'age': 18, 'name': 'gaoqi', 'dd': [23, 4], 'address': '四单元'}
b={'name':'gaoxixi','money':1000,'sex':'男的'}
>>> a.update(b)
>>> a
{'money': 1000, 'address': '四单元', 'age': 18, 'name': 'gaoxixi', 'dd': [23, 4], 'sex': '男的'}
>>> #删除字典中的元素
>>>> del(a['name'])
>>> a
{'money': 1000, 'address': '四单元', 'age': 18, 'dd': [23, 4], 'sex': '男的'}
>>> b=a.pop('age')
>>> b
18
a.clear()
>>> a
{}
>>> #popitem()随机删除和返回改建值对
>>> `a={'name':'gaoqi','age':18,'dd':[23,4]}`
>>> a.popitem()
('age', 18)
>>> a
{'name': 'gaoqi', 'dd': [23, 4]}
>>> a.popitem()
('name', 'gaoqi')
>>> a
{'dd': [23, 4]}
序列解包
>>> s={'name':'gaoqi','age':18,'dd':[23,4]}
>>> a,b,c=s.items()
>>> a
('age', 18)
>>> b
('name', 'gaoqi')
>>> c
('dd', [23, 4])
a,b,c=s.values()
>>> a
18
>>> b
'gaoqi'
>>> c
[23, 4]
>>> a,b,c=s.items()
>>> a
('age', 18)
>>> a[0]
'age'
>>> a[1]
18
表格数据使用字典访问
r1={'name':'高小一','age':18,'salary':30000,'city':'北京'}
r2={'name':'高小二','age':19,'salary':10000,'city':'上海'}
r3={'name':'高小五','age':20,'salary':20000,'city':'深圳'}
tb=[r1,r2,r3]
#获得第二行的人的薪资
print(tb[1].get('salary'))
#打印表中所有的薪资
for i in range(len(tb)):
print(tb[i].get('salary'))
#打印表的所有数据
for i in range(len(tb)):
print(tb[i].get('name'),tb[i].get('salary'),tb[i].get('city'))
#结果
10000
30000
10000
20000
高小一 30000 北京
高小二 10000 上海
高小五 20000 深圳
集合
>>> #集合的创建和删除
>>> a={226,15,2561}
>>> a.add(26)
>>> a
{2561, 226, 26, 15}
>>> a.remove(26)
>>> a
{2561, 226, 15}
>>> a={'s','b','b','f'}
>>> b=set(a)
>>> b
{'b', 'f', 's'}
集合的相关操作
>>> a={1,18,'s'}
>>> b={'s',5,6}
>>> a|b #并集
{1, 18, 5, 's', 6}
>>> a&b #交集
{'s'}
>>> a-b #差集
{1, 18}
>>> a.union(b)
{1, 18, 5, 's', 6}
>>> a.intersection(b)
{'s'}
>>> a.difference(b)
{1, 18}
单分支选择结构
a=input("请输入一个小于10的数字:")
if int(a)<10:
print(a)
b=[]
if not b:
print('空的列表是false')
#结果
请输入一个小于10的数字:6
6
空的列表是false
双分支选择结构
s=input('请输入一个数字:')
if int(s)<10:
print(s)
else:
print('数字太大')
#测试三元条件运算符
print('s是小于10的数字' if int(s)<10 else "s是大于等于10的数字")
#结果
请输入一个数字:5
5
s是小于10的数字
多分支选择结构
#测试多分支选择结构
score=int(input('请输入分数:'))
grade=""
if score<60:
grade="不及格"
elif score<80:
grade = "及格"
elif score<90:
grade = "良好"
else:
grade="优秀"
print('分数是{0},等级是{1}'.format(score,grade))
#结果
请输入分数:89
分数是89,等级是良好
选择结构嵌套
#测试选择结构的嵌套
score=int(input('请输入分数:'))
if score>100 or score<0:
print("请输入一个0-100的分数")
else:
if score<60:
grade="不及格"
elif score<80:
grade = "及格"
elif score<90:
grade = "良好"
else:
grade="优秀"
print('分数是{0},等级是{1}'.format(score,grade))
#结果
请输入分数:10
分数是10,等级是不及格
while循环结构
#while循环语句
num=0
while num<=10:
print(num,end="\t")
num+=1
print("*******************")
#计算1-100之间的数字累加和
num2=0
sum_all=0
while num2<=100:
sum_all=sum_all+num2
num2+=1
print('1-100所有数字的累加和:',sum_all)
#结果
0 1 2 3 4 5 6 7 8 9 10 *******************
1-100所有数字的累加和: 5050