1_11_4 23 python基础学习
一列表
Python 內(nèi)置的一種數(shù)據(jù)類型是列表:list。list是一種有序的集合,可以隨時(shí)添加和刪除其中的元素。 []
list = [[]] : 二維列表。
語(yǔ)法以及定義方式:
a = [] : []------方括號(hào)表示集合;【】[]
len(classmates)-1: 表示列表當(dāng)中最后一個(gè)元素的索引。
L[3] = L[len(classmates)-1]
#超出列表索引會(huì)報(bào)錯(cuò) eg: classmate[4]報(bào)錯(cuò),超出索引
#IndexError: list index out of range
添加元素方法:
append() : 在列表最后插入元素 (一個(gè)參數(shù))
insert():在指定索引處,插入元素。(兩個(gè)參數(shù))
classmates = [‘張三’, ‘李四’, ‘王五’,‘小明’]
print(len(classmates))
#classmates的長(zhǎng)度是多少?
#超出列表索引會(huì)報(bào)錯(cuò)
#IndexError: list index out of range
#如何將 '小紅’加入當(dāng)classmates這個(gè)列表當(dāng)中
classmates.append(‘小紅’)
# append(): 向列表當(dāng)中添加元素。列表當(dāng)中的方法,用’.'點(diǎn),調(diào)用。
#append():添加的元素是在列表的最后。
# 如何添加到列表的指定位置,eg:添加到第一個(gè)位置
classmates.append(0,‘小白’)
#TypeError: append() takes exactly one argument (2 given)
#append(): 只能接受一個(gè)參數(shù),我們給了它兩個(gè)參數(shù),所以會(huì)報(bào)錯(cuò)
classmates.insert(0,‘小白’)
# insert():在指定索引處,插入元素。
刪除元素:
#pop() :刪除列表當(dāng)中最后一個(gè)元素
#pop(index): 刪除指定索引的元素
classmates = [‘張三’, ‘李四’, ‘王五’,‘小明’]
print(classmates)
#刪除元素
classmates.pop()
print(classmates)
classmates.pop(1)
print(classmates)
列表內(nèi)置方法:
pop() :刪除列表當(dāng)中最后一個(gè)元素
pop(index): 刪除指定索引的元素
append(value) : 在列表最后插入元素 (一個(gè)參數(shù))
insert(index,value):在指定索引處,插入元素。(兩個(gè)參數(shù))
列表插入刪除練習(xí):
fruit = [‘蘋果’,’香蕉’,’橘子’]
1.添加 ‘西瓜’到fruit列表的最后,打印輸出fruit
2.添加 ‘草莓’到蘋果的后面,打印輸出fruit
3.刪除 fruit列表的最后一個(gè)元素,然后打印輸出fruit
4.刪除 fruit列表的第2個(gè)元素,然后打印輸出fruit
5.打印輸出 ‘橘子’
答案:
1.fruit.append(‘西瓜’)
2.fruit.insert(1,‘草莓’)
3.fruit.pop()
4.fruit.pop(2)
5.print(fruit[2])
列表:
list = [1,2,3,True,’小明’,None,3.124, [] ]
二維列表:
練習(xí):
1.請(qǐng)用索引取出下面list的指定元素:
# -- coding: utf-8 --
L = [
[‘Apple’, ‘Google’, ‘Microsoft’],
[‘Java’, ‘Python’, ‘Ruby’, ‘PHP’],
[‘Adam’, ‘Bart’, ‘Lisa’]
]
# 打印Apple:
print(?) L[0][0]
# 打印Python: L[1][1]
print(?)
PHP: L[1][3]
# 打印Lisa:
print(?)
二循環(huán)
如果全篇(就是python代碼)沒(méi)有縮進(jìn)“tab”,那說(shuō)明沒(méi)有for while if else eilf等條件
首先
如果list里面有100這樣的元素怎么辦??
list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
range(N)--------生成0-N個(gè)元素組成的列表。 [0,N) ,左閉右開
range(m,n) ------生成m-n個(gè)元素組成的列表
range(0,100,2) -----在[0-99)中,以step=2的間隔生成元素,組成列表。
python2版本才可以測(cè)試:
循環(huán):Python 的循環(huán)有兩種,一種是 for…in 循環(huán),依次把 list 或 tuple 中的每個(gè)元素迭代出來(lái)
for循環(huán)語(yǔ)法:
for 迭代變量 in 對(duì)象(序列):
循環(huán)體
流程圖:
循環(huán)去做:
計(jì)算 1-10的整數(shù)之和:
sum = 0
for i in range(0, 11):
sum += i
print(“sum=”, sum)
‘’’
解釋:
sum = 0+1 -----> sum=1
sum = 1+2 ------> sum = 3
sum = 3+3 -----> sum =6
…
sum = sum+10 -----> sum=55
計(jì)算機(jī)當(dāng)中: sum= sum+i
一般寫成 sum+=i
‘’’
計(jì)算1-100的整數(shù)之和。
sum = 0
for i in range(1, 101):
sum += i
print(“sum=”, sum)
計(jì)算1-100的偶數(shù)之和。
sum = 0
for i in range(0, 101,2):
sum += i
print(“sum=”, sum)
計(jì)算1-100的奇數(shù)之和。
sum = 0
for i in range(1, 101,2):
sum += i
print(“sum=”, sum)
練習(xí)
請(qǐng)利用循環(huán)依次對(duì)list中的每個(gè)名字打印出Hello, xxx!:
L = [‘Bart’, ‘Lisa’, ‘Adam’]
for i in L:
print(‘Hello,’,i,"!")
while 循環(huán):
語(yǔ)法:
while 條件表達(dá)式:
循環(huán)體
第二種循環(huán)是 while 循環(huán),只要條件滿足,就不斷循環(huán),條件不滿足時(shí)退出循環(huán)。比如我們
要計(jì)算 100 以內(nèi)所有奇數(shù)之和,可以用 while 循環(huán)實(shí)現(xiàn):
計(jì)算 100 以內(nèi)所有奇數(shù)之和
在循環(huán)內(nèi)部變量 n 不斷自減,直到變?yōu)?1 時(shí),不再滿足 while 條件,循環(huán)退出。
continue語(yǔ)句會(huì)立即跳到循環(huán)的頂端,即跳過(guò)本次循環(huán),執(zhí)行下一次循環(huán)
break 語(yǔ)句會(huì)立即離開循環(huán)
練習(xí):
低于18.5:過(guò)輕
18.5-25:正常
25-28:過(guò)重
28-32:肥胖
高于32:嚴(yán)重肥胖
2.猜數(shù)字;
編寫一個(gè)猜數(shù)字的小游戲,隨機(jī)生成一個(gè)1-10(包括1和10)之間的數(shù)字作為基準(zhǔn)數(shù),玩家每次通過(guò)鍵盤輸入一個(gè)數(shù)字,如果輸入的數(shù)字和基準(zhǔn)數(shù)相同,則成功過(guò)關(guān),否則重新輸入,如果玩家輸入-1,則表示退出游戲。效果圖如下:
提示:
import random # 導(dǎo)入隨機(jī)數(shù)模塊
random = random.randint(1, 10) # 生成1到10之間的隨機(jī)數(shù)
1.需要隨機(jī)生成一個(gè)(1,10)的數(shù)字
2.需要用戶輸入一個(gè)數(shù)字
3.需要條件控制語(yǔ)句,循環(huán)控制語(yǔ)句。
3.打印輸出(循環(huán)):
(1)
*
**
***
****
*****
提示: \n ----表示換行 ‘ ’-----表示輸出空格
(2)
*
**
***
****
*****
三 字典
# userName = [“1111”,“zhangsan”,“l(fā)isi”,“wangwu”,“xiaoming”]
# for i in userName: #
# if “zhangsan” ==i: # i ==“zhangsan”
# break;
# print(i)
** 大家給我記住了: 縮進(jìn)符號(hào)很重要,
**
1.如果全篇(就是python代碼)沒(méi)有縮進(jìn)“tab”,那說(shuō)明沒(méi)有for while if
else eilf 等條件(流程)控制語(yǔ)句和循環(huán)控制語(yǔ)句。
‘’’
# print("-------猜數(shù)字游戲-------") # import random # 導(dǎo)入隨機(jī)數(shù)模塊 # random = random.randint(1, 10) # 生成1到10之間的隨機(jī)數(shù) # print("random:",random) # num = int(input("請(qǐng)輸入1-10之間的任意一個(gè)數(shù):"))# while True: # num = int(input("請(qǐng)輸入1-10之間的任意一個(gè)數(shù):")) # if num >random: # print("大了,請(qǐng)重新輸入:") # elif num <random and num !=-1: # print("小了,請(qǐng)重新輸入:") # elif num == -1: # print("游戲結(jié)束") # break # else: # print("猜對(duì)了") # break# for i in range(5): # print(" "*(5-i),"*"*(i+1))#定義好字典 {鍵:值,鍵:值}鍵:值,以逗號(hào)分隔
d = {“zhangsan”: 89, “l(fā)isi”: 90, “wangwu”: 78}
print(d)
print(d[“zhangsan”]) # 取字典里面的某個(gè)值
#改變字典當(dāng)中的值
#方式一
d[“zhangsan”]=99
print(d[“zhangsan”])
#如果鍵不存在于字典當(dāng)中會(huì)報(bào)錯(cuò)。
# d[“xiaoming”]
# KeyError: ‘xiaoming’
#判斷鍵是否存在于字典當(dāng)中
print("----:",d.get(“l(fā)isi1”))
#刪除字典當(dāng)中的wangwu元素
d.pop(“wangwu”)
print(d)
print(d[“zhangsan”])
print(d[“zhangsan”])
print(d[“l(fā)isi”])
d1 = {“zhangsan”: 89, “l(fā)isi”: 90, “wangwu”: 78}
for i in d1: # i 表示的是字典當(dāng)中的鍵, d[i]—字典當(dāng)中的值
print("—",i,d1[i])
‘’’
1.查找和插入的速度快,不會(huì)隨著key的增加而增加
2.需要占用大量?jī)?nèi)存,內(nèi)存浪費(fèi)
‘’’
# list 優(yōu)缺點(diǎn)
‘’’
1.查找和插入的時(shí)間,隨著元素的增加而增加
2.占用空間小,浪費(fèi)內(nèi)存小。
‘’’
#dict的注意事項(xiàng)
‘’’
字典當(dāng)中的key是不可變對(duì)象,唯一,不能重復(fù)
通過(guò)key計(jì)算位置的算法(字典),我們稱為: 哈希算法
‘’’
dic1 = {“zhangsan”:[180,87,98]}
#如何取87
l = dic1[“zhangsan”]
l[1]
print(dic1[“zhangsan”][1])
dic2 = {‘lisi’:{“愛好”:[1,2,3],“score”:98}}
#如何取3
a = dic2[‘lisi’][“愛好”][2]
print(a)
總結(jié)
以上是生活随笔為你收集整理的1_11_4 23 python基础学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Redisson(2-1)分布式锁实现对
- 下一篇: websocket python爬虫_p