python基础(三)
1、使用列表的一部分
1.1 切片
players=['charles','martina','michael','florence','eli']
print(players[0:3]) //切片,指定索引,与range()函数一样
print(players[:4]) //没有指定第一个索引,python自动从列表开头开始
print(players[2:]) //没有指定第二个索引,python自动到列表末尾
print(players[-3:]) //负数索引返回离列表末尾相应距离的元素
-->['charles', 'martina', 'michael']
['charles', 'martina', 'michael', 'florence']
['michael', 'florence', 'eli']
['michael', 'florence', 'eli']
1.2 遍历切片
for player in players[:3]: //用for循环使用切片
print(player)
-->charles
martina
michael
1.3 复制列表
my_foods=['pizza','falafel','carrot cake']
friend_foods=my_foods[:] //创建列表的副本
my_foods.append('cannoli') //在原列表中添加一个元素
friend_foods.append('ice cream') //在副本列表中添加一个元素
print("My favorite foods are:")
print(my_foods)
print("\nMy friend's favorite foods are:")
print(friend_foods)
-->My favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli']
My friend's favorite foods are:
['pizza', 'falafel', 'carrot cake', 'ice cream']
1.4 列表赋值
friend_foods=my_foods //两个变量指向同一个列表
-->My favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli']
My friend's favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli']
2、元组
2.1 定义元组
dimensions=(200,50) //元组使用圆括号标识
print(dimensions[0]) //访问语法与列表语法相同
print(dimensions[1])
-->200
50
注意:dimensions[0]=250 ✗ //禁止修改元组元素
2.2 遍历元组中的所有值
for di in dimensions: //使用for循环
print(di)
-->200
50
2.3 修改元组变量
dimensions=(400,100) //给变量重新赋值
注意:如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组
3、if语句
3.1 一个简单示例
cars=['audi','bmw','subaru','toyota']
for car in cars:
if car=='bmw': //不能漏掉后面的冒号
print(car.upper())
else: //else也同理
print(car.title())
3.2 条件测试
car='fdf' //一个等号是陈述
car=='Fdf' //两个等号是发问,Python中区分大小写
-->False
3.3 检查不相等
requested_topping='mushroom'
if requested_topping!='anchovies': //!=表示不相等
print("Hold the anchovies!")
-->Hold the anchovies!
注意:数字同理
3.4 检查多个条件
age1=22
age2=18
age1>=21 and age2>=21 //使用and检查
age1>=21 or age2>=21 //使用or检查
-->False
True
3.5 检查特定值是否包含在列表中
requested_topping=['mushrooms','onions','pineapple']
'mushrooms' in requested_topping //用关键字in判断是否包含特定值
-->True
3.6 检查特定值是否不包含在列表中
banned_users=['andrew','carolina','david']
user='marie'
if user not in banned_users: //使用not in关键字,检查特定值不在列表中
print(user.title()+",you can post a response if you wish.")
-->Marie,you can post a response if you wish.
3.7 布尔表达式
布尔表达式的结果要么为True,要么为False
3.8 if-elif-else结构
age=20
if age<4:
print("Your admission cost is $0.")
elif age<18: //多条件判断时用elif语句
print("Your admission cost is $5.")
else:
print("Your admission cost is $10.")
-->Your admission cost is $10.
4、字典
4.1 一个简单的字典
alien_0={'color':'green','points':5} //该字典存储了两条信息,字典是一系列键-值对,每个键都与一个值相关联,键与值之间用冒号分隔,而键-值对之间用逗号分隔
print(alien_0['color']) //打印第一条信息
print(alien_0['points']) //打印第二条信息
-->green
5
4.2 添加键-值对
alien_0['x-position']=0 // 直接赋值,用方括号括起的键以及与该键相关联的值
alien_0['y=position']=25
print(alien_0)
-->{'color': 'green', 'points': 5, 'x-position': 0, 'y=position': 25} // python不关心键-值对的添加顺序,只关心键和值之间的关联关系
4.3 删除键-值对
del alien_0['points'] //用del语句删除
print(alien_0)
-->{'color': 'green', 'x-position': 0, 'y=position': 25}
注意:删除的键-值对永远消失了
4.4 由类似对象组成字典
favorite_language={ //用字典来存储众多对象的同一种信息
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
print("Sarah's favorite landuage is "+favorite_language['sarah'].title()+".")
-->Sarah's favorite landuage is C.
4.5 遍历字典
user_0={
'username':'efermi',
'first':'enrico',
'last':'fermi',
}
for key,value in user_0.items(): //for循环 包含字典名user_0和方法名items(),返回的是键-值对列表
print("\nkey:"+key+"\nvalue:"+value)
-->key:username
value:efermi
key:first
value:enrico
key:last
value:fermi
注意:for k,v in user_0.items() //遍历字典时,返回的顺序也与存储顺序不同
4.6 遍历字典中的所有键
for name in favorite_language.keys(): //for循环中用字典名.方法名keys()取所有键值
print(name.title())
-->Jen
Sarah
Edward
Phil
4.7按顺序遍历字典中的所有键
for name in sorted(favorite_language.keys()): //使用sorted()函数
print(name.title()+" ,thank you for taking the poll!")
4.8 遍历字典中的所有值
for language in favorite_language.values(): //用字典名.方法名values()
print(language)
-->python
c
ruby
python
4.9 set()函数剔除重复值
for language in set(favorite_language.values()): //调用set()函数创建集合,每个元素独一无二
print("\n"+language)
-->c
ruby
python