網(wǎng)站首頁 編程語言 正文
Python中的[1:]
意思是去掉列表中第一個元素(下標(biāo)為0),去后面的元素進(jìn)行操作,以一個示例題為例,用在遍歷中統(tǒng)計(jì)個數(shù):
題:讀入N名學(xué)生的成績,將獲得某一給定分?jǐn)?shù)的學(xué)生人數(shù)輸出。
輸入格式:
輸入在第1行給出不超過10^5^的正整數(shù)N,即學(xué)生總?cè)藬?shù)。隨后1行給出N名學(xué)生的百分制整數(shù)成績,中間以空格分隔。最后1行給出要查詢的分?jǐn)?shù)個數(shù)K(不超過N的正整數(shù)),隨后是K個分?jǐn)?shù),中間以空格分隔。
輸出格式:
在一行中按查詢順序給出得分等于指定分?jǐn)?shù)的學(xué)生人數(shù),中間以空格分隔,但行末不得有多余空格。
stu_num = input('請輸入學(xué)生總?cè)藬?shù):')
stu_grade = input('請輸入每位學(xué)生的成績(百分制),并以空格分開:').split() # 將如數(shù)的字符串轉(zhuǎn)化成列表
num_and_grade = input('請輸入要統(tǒng)計(jì)幾個分?jǐn)?shù),以及每個分?jǐn)?shù)值,以空格分開:').split() # 轉(zhuǎn)成列表格式
result = [] # 定義一個新列表保存結(jié)果
for i in num_and_grade[1:]: # 定義變量i,遍歷num_and_grade[]列表中除了第一個元素的其他元素
result.append(str(stu_grade.count(i))) # 利用Python的count()函數(shù)統(tǒng)計(jì)相應(yīng)i值在列表stu_grade[]列表中的個數(shù),轉(zhuǎn)換成字符串格式并追加到result[]列表中
print(" ".join(result)) # 列表轉(zhuǎn)換成字符串格式,打印結(jié)果
結(jié)果:
請輸入學(xué)生總?cè)藬?shù):10
請輸入每位學(xué)生的成績(百分制),并以空格分開:88 99 75 88 95 42 78 88 95 99
請輸入要統(tǒng)計(jì)幾個分?jǐn)?shù),以及每個分?jǐn)?shù)值,以空格分開:3 88 99 95
3 2 2
Python中的[::-1]
這個是python的slice notation的特殊用法。
b = a[i:j] 表示復(fù)制a[i]到a[j-1],以生成新的list對象
當(dāng)i缺省時,默認(rèn)為0,即 a[:3]相當(dāng)于 a[0:3]
當(dāng)j缺省時,默認(rèn)為len(alist), 即a[1:]相當(dāng)于a[1:10]
當(dāng)i,j都缺省時,a[:]就相當(dāng)于完整復(fù)制一份a了
b = a[i:j:s]這種格式呢,i,j與上面的一樣,但s表示步進(jìn),缺省為1.
所以a[i:j:1]相當(dāng)于a[i:j]
當(dāng)s<0時:i缺省時,默認(rèn)為-1; j缺省時,默認(rèn)為-len(a)-1
所以a[::-1]相當(dāng)于 a[-1:-len(a)-1:-1],也就是從最后一個元素到第一個元素復(fù)制一遍。
a = ['a','b','c','d','e','f','g','h','g','k','l','m']
b = a[:] # 列表切片,表示把列表a[]的值全部正序復(fù)制到列表b[]中
print(b) # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm']
# b = a[n:m]表示列表切片,復(fù)制列表a[n]到a[m-1]的內(nèi)容到新的列表對象b[]
# 當(dāng)n缺省時,默認(rèn)為0,即a[:m]
# 當(dāng)m缺省時,默認(rèn)到最后,即a[n:]
b1 = a[1:4]
print(b1) # ['b', 'c', 'd']
b2 = a[:3]
print(b2) # ['a', 'b', 'c']
b3 = a[1:]
print(b3) # ['b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm']
# b = a[i:j:s]這種格式呢,i,j與上面的一樣,但s表示步進(jìn),缺省為1,s可以取任何數(shù)字.
# 所以a[i:j:1]相當(dāng)于a[i:j]
b4 = a[1:5:2]
print(b4) # ['b', 'd']
b5 = a[:5:-1] # 從末尾倒數(shù)取值
print(b5) # ['m', 'l', 'k', 'g', 'h', 'g']
b6 = a[5::-2]
print(b6) # 從a[n]處倒數(shù)取值
b7 = a[::-1] # 到這取值
print(b7) # ['m', 'l', 'k', 'g', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']
輸出結(jié)果:
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm']
['b', 'c', 'd']
['a', 'b', 'c']
['b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm']
['b', 'd']
['m', 'l', 'k', 'g', 'h', 'g']
['f', 'd', 'b']
['m', 'l', 'k', 'g', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']
Python中的X[:,m:n]和X[1,:]
X[:,0]是numpy中數(shù)組的一種寫法,表示對一個二維數(shù)組,取該二維數(shù)組第一維中的所有數(shù)據(jù),第二維中取第0個數(shù)據(jù),直觀來說,X[:,0]就是取所有行的第0個數(shù)據(jù), X[:,1] 就是取所有行的第1個數(shù)據(jù)。
X[n,:]是取第1維中下標(biāo)為n的元素的所有值。
X[:, ?m:n],即取所有數(shù)據(jù)的第m到n-1列數(shù)據(jù),含左不含右
import numpy as np
X = np.array([[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]]) # 定義二維數(shù)組
print(X[:,0]) # 取數(shù)組X二維數(shù)組中每一個的0號下標(biāo)對應(yīng)的值 [0 4 8 12]
print(X[1,:]) # 取數(shù)組X一維數(shù)組中的第一組全部數(shù)值 [0 1 2 3]
print(X[:,1:3]) #取所有數(shù)據(jù)的第1列到3-1列數(shù)據(jù),從第0列開始計(jì)算,結(jié)果如下:
'''
[[1 2]
[5 6]
[9 10]
[13 14]]
'''
原文鏈接:https://blog.csdn.net/gaofengyan/article/details/90697743
相關(guān)推薦
- 2024-03-02 Quasar框架使用環(huán)境變量聲明接口地址,無需手動判斷
- 2022-04-18 python?如何使用requests下載文件_python
- 2022-09-22 遞歸和迭代(深度優(yōu)先,廣度優(yōu)先)的差異
- 2022-09-22 Redis配置文件redis.conf詳解
- 2022-10-05 VScode中添加頭文件和源文件(C/C++)的方法_C 語言
- 2023-03-20 pip安裝python庫時報(bào)Failed?building?wheel?for?xxx錯誤的解決方法
- 2022-04-02 Redis快速實(shí)現(xiàn)分布式session的方法詳解_Redis
- 2022-11-22 XML實(shí)體注入深入理解_XML示例
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支