栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 基础学习笔记(三)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 基础学习笔记(三)

1 条件控制 1.1 基本结构

1.2 多条件判断

 举例:登录密码

password_list = ['*#*#','12345']
def account_login():
    password = input('Password:')
    password_correct = password == password_list[-1]
    password_reset = password == password_list[0]
    if password_correct:
        print('Login success!')
    elif password_reset:
        new_password = input('Enter a new password:')
        password_list.append(new_password)
        print('You password has changed successfully!')
        account_login()
    else:
        print('Wrong password or invalid input!')
        account_login()
account_login()

#运行结果:
# Password:123
# Wrong password or invalid input!
# Password:*#*#
# Enter a new password:123
# You password has changed successfully!
# Password:123
# Login success!
2 循环 2.1 for 循环

for num in range(1,11):
    print(str(num) + ' + 1 =', num + 1)

songslist = ['Holy Driver', 'Thunderstruck', 'Rebel Rebel']
for song in songslist:
    if song == 'Holy Driver':
        print(song, '- Dio')
    elif song == 'Thunderstruck':
        print(song, '- AC/DC')
    elif song == 'Rebel Rebel':
        print(song, '- David Bowie')

# 运行结果:
# 1 + 1 = 2
# 2 + 1 = 3
# 3 + 1 = 4
# 4 + 1 = 5
# 5 + 1 = 6
# 6 + 1 = 7
# 7 + 1 = 8
# 8 + 1 = 9
# 9 + 1 = 10
# 10 + 1 = 11
# Holy Driver - Dio
# Thunderstruck - AC/DC
# Rebel Rebel - David Bowie
2.2  while循环

3 数据结构

Python 中的数据结构包括: 列表、字典、元祖、集合。

四种数据结构对比
表示方法
列表[val1,val2]
字典{key1:val1,key2:val2}
元祖(val1,val2)
集合{val1,val2}

3.1 列表的增删改查
fruit = ['apple','pear']

fruit.insert(1,'grape')          #增加

fruit.remove('apple')            #删除
del fruit[0:2]                   #第二种删除方法

fruit[-1] = 'orange'             #修改  通过索引方式

print(fruit)                     #['grape', 'orange']

列表只支持通过位置去索引。

3.2 字典

字典中的数据必须与键值对的形式出现,逻辑上键是不能重复和修改的,而值却可以。

注意:字典是不能切片的,但字典的元素可以通过[ ]来访问,里面写的是键值。

NASDAQ_code = {'BAIDU':'Baidu', 'SINA':'Sina'}

NASDAQ_code['YOUKU'] = 'Youku'                            #增加
NASDAQ_code.update({'FB':'Facebook','TLSA':'Telsa'})      #增加 多个元素

del NASDAQ_code['FB']                                     #删除

NASDAQ_code['TLSA']                                       #查找  通过放入字典中的键

print(NASDAQ_code)                                       
#{'BAIDU': 'Baidu', 'SINA': 'Sina', 'YOUKU': 'Youku', 'TLSA': 'Telsa'}
3.3 元祖

元祖是不可修改的列表,只能通过索引查看。

letters = ('a', 'b', 'c')
print(letters[0])     #a
3.4 集合

集合中是无重复的、无序的对象,因此不支持通过索引的方式进行访问。

可以进行集合运算和添加、删除元素的操作。

a_set = {1,2,3,4}
a_set.add(5)              #增加
a_set.discard(5)          #删除
print(a_set)              #{1, 2, 3, 4}
4 数据结构中的技巧 4.1 列表排序  sorted() 
num_list = [6, 2, 7, 4, 5]
print(sorted(num_list))                     #正序 [2, 4, 5, 6, 7]
print(sorted(num_list, reverse=True))       #逆序 [7, 6, 5, 4, 2]
4.2 多重循环 

如果需要两个列表可以使用zip函数。

num_list = [6, 2, 7, 4, 5]
str_list = ['a', 'b']

for a,b in zip(num_list,str_list):
    print(b, 'is', a)
    
# a is 6
# b is 2
4.3 推导式

下面两种方式等价,执行上,推导式的效率要更高。

 

#列表推导式
a = [i**2 for i in range(0,10)]
c = [j+1 for j in range(1,10) if j % 2 == 0]
d = [letter.lower() for letter in 'ABCDEFGHIGKLMN']
print(a)
print(c)
print(d)

#字典推导式
e = {i:i+1 for i in range(4)}
g = {i:j for i,j in zip(range(1,6),'abcde')}
g = {i:j.upper() for i,j in zip(range(1,6),'abcde')}
print(e)
print(g)

# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# [3, 5, 7, 9]
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'k', 'l', 'm', 'n']
# {0: 1, 1: 2, 2: 3, 3: 4}
# {1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'E'}
4.4 循环列表时获取元素的索引  enumerate
letters = ['a', 'b', 'c']
for num,letter in enumerate(letters):
    print(letter, 'is', num + 1)
    
# a is 1
# b is 2
# c is 3

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1038620.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号