日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

list选取多个元素 python_【幼儿园级】0基础学python一本通(上)——AI未来系列1...

發布時間:2025/3/12 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 list选取多个元素 python_【幼儿园级】0基础学python一本通(上)——AI未来系列1... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在未來面前,每個人都是學生

江海升月明,天涯共此時,關注江時

本篇為AI未來系列第一篇。為什么要研究學習python?python是未來屠龍的屠龍寶刀,再輔助以我們的高中數學基礎(足夠用的屠龍術),小白們即可把握人工智能的未來。本系列初步階段主要攻克數據分析問題,中階攻克爬蟲問題,高階進入人工智能階段,順帶會穿插一些硬件知識。

想想比爾蓋茨的發家史,也有點小小激動喲。未來已來,just do it。時不我待,今天是2019年2月12日農歷初八,趕緊開始第一篇——幼兒園級,老嫗也會,0基礎學python一本通。

為什么Python這么受歡迎?

簡單的來說,有下面五點原因:
1、Python可以在多種計算機操作系統中運行(Unix,Windows,MacOS,Ubuntu等等),python在這些語言中是最簡單易用的。
2、Python能夠實現交互式命令輸出。對于非專業程序員而言,都希望邊編寫程序,邊查看結果。
3、Python是開源免費的,有很多強大易用的標準庫。對于非專業的程序員而言,使用這些庫可以免去自己編寫的煩惱。
4、Python是一種解析性的、面向對象的編程語言。面向對象編程和一般的編程不太一樣,有其自身的優勢。
5、Python是可以連接多種語言的膠水語言。

Python與其他數據分析語言對比

一、Python基礎語法

初次使用Python,首先要明確三點:

Python的標識符(例如變量名、函數名等),可用字母、數字和下劃線構成,不能以數字開頭,且區分大小寫。
Python對于縮進敏感。在Python中,是使用縮進來寫代碼塊。
Python的注釋語句一般用#開頭。多行注釋可以有用三引號。

'''
這里使用了多行注釋
使用三引號將注釋內容包含起來
在代碼上中只能使用#開頭的注釋語句
'''
a?=?1???????#小寫字母定義變量
A?=?2???????#大小字母定義變量
a1?=?3??????#小寫字母+數字?一起來定義變量
a_b_c?=?4???#小寫字母+下劃線?來定義變量
_n_?=?5?????#下劃線+小寫字母?來定義變量
print(a,A,a1,a_b_c,_n_)```

1 2 3 4 5

'''
使用縮進來說明代碼塊
下面編寫了一個循環
注意到循環體N=N+n相對于之前的代碼縮進了
因為它是整個循環的循環體,需要通過縮進標識出來
'''
N?=?0
for?n?in?[1,2,3,4,5]:
????N?=?N?+?n
print(N)

15

'''
刪除某個對象
'''
x?=?1
del?x?#刪除對象x
x

二、Python基礎數據類型

Python中基礎的數據類型只有兩類:字符串string和數字。在數字類型下,可細分為4個類型整型int、長整型long、浮點數float和復數complex。常用的數字類型為整型int和浮點數float。

2.1 字符串string

關于字符串,有下面三點需要注意。其中第三點尤為關鍵,且不光是針對字符串,對于python中所有的索引都是適用的。

1、Python用單引號'',雙引號"",三引號''''''來標識字符串,三引號用于多行文本
2、字符串也是一個序列,可以截斷和切片
3、注意python中的索引:從左到右索引默認從0開始,最大范圍為字符串長度-1。從右向左索引默認從-1開始,最大范圍是字符串開頭

string?=?'I?love?Wind!'

long_string?=?'''
I?love?Wind
and?Wind?welcomes?everyone
We?are?a?family
'''

#?上面定義兩個字符串?其中?long_string為一個多行的字符串?所以用''''''包含起來
print(string)
print(long_string)
I?love?Wind!

I love Wind!

I love Wind

and Wind welcomes everyone
We are a family

print('字符串的第一個元素(注意索引為0):??????????',string[0])
print('字符串的倒數第一個元素(支持負索引):???????',string[-1])
print('原字符串(注意空格也占據一個字符):?????????',string)
print('字符串索引2至5(注意索引的話左包含右不包含):',string[2:6])
print('字符串索引2至最后:???????????????????????',string[2:])
print('字符串索引-2至最后:??????????????????????',string[-2:])

字符串的第一個元素(注意索引為0): ? ? ? ? ? I
字符串的倒數第一個元素(支持負索引): ? ? ? ?!
原字符串(注意空格也占據一個字符): ? ? ? ? ?I love Wind!
字符串索引2至5(注意索引的話左包含右不包含): love
字符串索引2至最后: ? ? ? ? ? ? ? ? ? ? ? ?love Wind!
字符串索引-2至最后: ? ? ? ? ? ? ? ? ? ? ? d!

'''
關于字符串的運算
'''
print('字符串重復2遍:',string?*?2)
print('字符串的拼接:',string?+?'?and?Wind?welcomes?everyone!')

字符串重復2遍: I love Wind!I love Wind!
字符串的拼接: I love Wind! and Wind welcomes everyone!

'''
\n可用來字符串的換行
'''
print('我想換行\n換行成功')

我想換行
換行成功

'''
\t可用來輸入制表符
'''
print('我想插入一個制表符\t插入成功')

我想插入一個制表符 ? ?插入成功

2.2 數字number

數字可以細分為四個類型,一般常用的是整形int和浮點數float。

x1?=?10?;?x2?=?2.23???#用分號;隔開?可以在一行中寫多個語句
type(x1),type(x2)

(int, float)

三、Python數據集合類型

在基礎數據類型的基礎上,Python有6中數據集合的類型:

1、列表list,最常用的數據類型,以[]為標識
2、元組tuple,和list很相似,但是不能二次賦值,用()標識
3、集合set,和list類似,但是set中沒有重復的元素,常用于集合間的運算,用{}標識
4、字典dict,無序的對象集合,字典中的元素通過關鍵詞key來調用,同樣以{}來標識
5、數組array,科學計算和代數運算常用的數據類型,在后續numpy庫系列詳細說明
6、數據框dataframe,數據分析處理常用的數據類型,在后續pandas庫系列詳細說明

3.1 列表list
print('這里定義了一個列表list——x1,注意到列表x1中的元素是可以不同的,這里由兩個數字1和2,一個字符串James,一個列表[1,2,3]這四個元素構成了x1這個列表list。')
x1?=?[1,2,?'James',?[1,2,3]]
print(x1)

這里定義了一個列表list——x1,注意到列表x1中的元素是可以不同的,這里由兩個數字1和2,一個字符串James,一個列表[1,2,3]這四個元素構成了x1這個列表list。
[1, 2, 'James', [1, 2, 3]]

print('如何來調用列表x1中的某個或者某幾個元素呢??\n')???#這里的\n的含義是空一行
print('調用列表x1的第一個元素(注意第一個元素的索引為0):',x1[0])
print('調用列表x1的最后一個元素(注意最后一個元素的索引為-1):',x1[-1])
print('調用列表x1的前2個元素(注意索引的時候右不包含):',x1[:2])

如何來調用列表x1中的某個或者某幾個元素呢??

調用列表x1的第一個元素(注意第一個元素的索引為0): 1
調用列表x1的最后一個元素(注意最后一個元素的索引為-1): [1, 2, 3]
調用列表x1的前2個元素(注意索引的時候右不包含): [1, 2]這里要說明的是,python下序列(例如數組,列表,元組等)的索引,是從0開始而非從1開始。從左到右索引默認從0開始,從右到左索引默認從-1開始。
一般索引的方式為 序列[索引開始:索引結尾],且要注意python索引是右不包含,即索引結尾對應的元素是不包含在結果中的。

print('關于列表的運算\n')
x2?=?['a','b','c']
print('將兩個列表x1和x2拼接起來',x1+x2)
x1.append('新增元素')
print('在列表x1中添加一個元素',x1)
print('將列表x2重復兩遍',x2*2)

關于列表的運算

將兩個列表x1和x2拼接起來 [1, 2, 'James', [1, 2, 3], 'a', 'b', 'c']
在列表x1中添加一個元素 [1, 2, 'James', [1, 2, 3], '新增元素']
將列表x2重復兩遍 ['a', 'b', 'c', 'a', 'b', 'c']

'''
append是在列表的末尾添加元素,那如果要在列表中間添加元素怎么做呢?
'''
print('原列表:',x1)
x1.insert(2,1000)
print('在索引2位置添加了新的元素:',x1)

原列表: [1, 2, 'James', [1, 2, 3], '新增元素']
在索引2位置添加了新的元素: [1, 2, 1000, 'James', [1, 2, 3], '新增元素']

'''
根據索引來刪除列表中的元素
'''
print('原列表:',x1)
x1.pop(3)
print('刪除索引3上的元素后:',x1)

原列表: [1, 2, 1000, 'James', [1, 2, 3], '新增元素']
刪除索引3上的元素后: [1, 2, 1000, [1, 2, 3], '新增元素']

'''
在列表中添加多個元素
'''
print('原列表:',x1)
x1.extend([0,1,2,3,4,5,6])
print('添加多個元素后:',x1)

原列表: [1, 2, 1000, [1, 2, 3], '新增元素']
添加多個元素后: [1, 2, 1000, [1, 2, 3], '新增元素', 0, 1, 2, 3, 4, 5, 6]

'''
根據元素值來刪除元素
'''
print('原列表:',x1)
x1.remove('新增元素')
print('刪除"新增元素"元素后:',x1)

原列表: [1, 2, 1000, [1, 2, 3], '新增元素', 0, 1, 2, 3, 4, 5, 6]
刪除"新增元素"元素后: [1, 2, 1000, [1, 2, 3], 0, 1, 2, 3, 4, 5, 6]

x2?=?[1,1,1,1,2,2,2,3,43,4,5,6,4]
print('查看元素1在列表中出現的次數:',x2.count(1))

查看元素1在列表中出現的次數: 4

print('關于列表的排序\n')
x3?=?[-10,-2,1,-100,333,1000]
print('原列表:',x3)
x3.sort()
print('按從小到大排序:',x3)
x3.sort(reverse=True)
print('按從大到小排序:',x3)

關于列表的排序

原列表: [-10, -2, 1, -100, 333, 1000]
按從小到大排序: [-100, -10, -2, 1, 333, 1000]
按從大到小排序: [1000, 333, 1, -2, -10, -100]

3.2 元組tuple
x3?=?(66.6,'萬得資訊',1.0000)
print('這是一個元組tuple:',x3)
x3[0]?=?1

這是一個元組tuple: (66.6, '萬得資訊', 1.0)

print('關于元組tuple的相關計算:')
print(x3?+?('a','b'))
print(x3?*?2)
#從結果可以發現,元組的一些計算和列表list是類似的

關于元組tuple的相關計算:
(66.6, '萬得資訊', 1.0, 'a', 'b')
(66.6, '萬得資訊', 1.0, 66.6, '萬得資訊', 1.0)
可以發現,當想對一個元組tuple的第一個元素(索引0)重新賦值時,則會報錯。說明元組一旦定義好了就不能二次賦值了。但是要注意如下這種情況

x4?=?('jack',1000,[1,2,3])
x4[2][1]?=?1000
x4

('jack', 1000, [1, 1000, 3])
在x4這個元組中,索引2對應的元素是一個列表[1,2,3],那么這個列表中的元素做一個更改的話是可以的

3.3 集合set
x0?=?[1,1,2,2,3,3,4,4,5,5]
print('含有重復元素的一個列表x0:',x0)
x0_set?=?set(x0)
print('將列表x0轉化一個集合:',x0_set)
print('可以發現集合x0_set中沒有重復的元素')

含有重復元素的一個列表x0: [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
將列表x0轉化一個集合: {1, 2, 3, 4, 5}
可以發現集合x0_set中沒有重復的元素

print('關于集合set的計算')
set1?=?{1,2,3,4,5}
set2?=?{2,3,4}
print('集合set1:',set1,'\n','集合set2:',set2)
print('集合set1和集合set2的差集:',set1-set2)
print('集合set1和集合set2的交集:',set1.intersection(set2))

關于集合set的計算
集合set1: {1, 2, 3, 4, 5}
集合set2: {2, 3, 4}
集合set1和集合set2的差集: {1, 5}
集合set1和集合set2的交集: {2, 3, 4}

print('集合set1:',set1,'\n','集合set2:',set2)
print('集合set1和集合set2的交集:',set1&set2)
print('集合set1和集合set2的并集:',set1|set2)

集合set1: {1, 2, 3, 4, 5}
集合set2: {2, 3, 4}
集合set1和集合set2的交集: {2, 3, 4}
集合set1和集合set2的并集: {1, 2, 3, 4, 5}

3.4 字典dict
#?字典定義方式一
dict1?=?{}??#先創建一個空字典
dict1['姓名']?=?'萬礦'
dict1['年齡']?=??0.5
dict1['能力值']?=?1000
print(dict1)
#?字典定義方式二
dict2?=?{'姓名':'Kobe?Bryant','身高':198,'冠軍數':5}
print(dict2)

{'能力值': 1000, '年齡': 0.5, '姓名': '萬礦'}
{'身高': 198, '冠軍數': 5, '姓名': 'Kobe Bryant'}

#?字典定義方式三
dict3?=?dict.fromkeys(['A','B','C'],1000)
print(dict3)
#?字典定義方式四
dict4?=?dict(zip(['A','B','C'],[1,10,100]))
print(dict4)

{'B': 1000, 'A': 1000, 'C': 1000}
{'B': 10, 'A': 1, 'C': 100}

print('字典由關鍵詞key和值value兩個部分構成')
print('查看字典dict2的關鍵詞:',dict2.keys())
print('查看字典dict2的值:',dict2.values())

字典由關鍵詞key和值value兩個部分構成
查看字典dict2的關鍵詞: dict_keys(['身高', '冠軍數', '姓名'])
查看字典dict2的值: dict_values([198, 5, 'Kobe Bryant'])

'''
刪除字典中的關鍵詞
'''
dict1.pop('姓名')
print('刪除關鍵詞“姓名”:',dict1)

刪除關鍵詞“姓名”: {'能力值': 1000, '年齡': 0.5}

dict1.clear()
print('清除字典中的所有元素:',dict1)

清除字典中的所有元素: {}

四、Python基本運算符

五、條件和循環

5.1條件語句

條件語句基本框架如下:if 判斷語句1:執行語句塊1elif 判斷語句2:執行語句塊2else:執行語句塊3

a?=?10
2
if?a%2?==?0?:?????#這里使用了取余函數%
3
????print(a,'是偶數')
4
else:
5
????print(a,'是奇數')

10 是偶數

b?=?'張三'
2
if?b?in?['張一','張二','張三','張四']:??#這里使用了in來判斷
3
????print(b,'是張家人')
4
else:
5
????print(b,'不是張家人')

張三 是張家人

c?=?20
2
if?c?3
????print(c,'小于20')
4
elif?c?>?80:
5
????print(c,'大于80')
6
else:
7
????print(c,'在20~80之間')

20 在20~80之間

5.2 循環語句
5.2.1 for循環
1
sum?=?0??#實現0+1+2+。。+9
2
for?j?in?range(10):
3
????sum?=?sum?+?j
4
print(sum)

45

1
sum?=?0
2
for?j?in?range(10):
3
????sum?+=?j???#這句和?sum?=?sum?+?j一個效果
4
print(sum)

45

5.2.2 while循環
j?=?1
2
while?j?!=?6:
3
????j?=?j?+?1
4
print('循環結果為:',j)

循環結果為: 6

5.2.3 循環控制語句——break

break語句的含義是終止當前循環,且跳出整個循環

for?j?in?range(10):
2
????if?j?==?6:
3
????????break
4
????print('當前j的值為:',j)

當前j的值為: 0
當前j的值為: 1
當前j的值為: 2
當前j的值為: 3
當前j的值為: 4
當前j的值為: 5

5.2.4 循環控制語句——continue

continue語句的含義是終止當次循環,跳出該次循環,直接執行下一次循環

for?j?in?range(10):
2
????if?j?==?6:
3
????????continue
4
????print('當前j的值為:',j)

當前j的值為: 0
當前j的值為: 1
當前j的值為: 2
當前j的值為: 3
當前j的值為: 4
當前j的值為: 5
當前j的值為: 7
當前j的值為: 8
當前j的值為: 9

5.2.5 pass語句

當執行到pass語句時,其含義就是不執行任何操作

for?j?in?range(10):
2
????if?j?==?6:
3
????????pass
4
????else:
5
????????print('當前j的值為:',j)

當前j的值為: 0
當前j的值為: 1
當前j的值為: 2
當前j的值為: 3
當前j的值為: 4
當前j的值為: 5
當前j的值為: 7
當前j的值為: 8
當前j的值為: 9

5.2.6 循環、條件嵌套

例如我們要尋找2-100中的所有素數,本身需要一個循環。而判斷某一個數是否為素數也需要一個循環,所以這里嵌套了兩個循環。循環中還有一些條件語句。

#尋找2-100中的所有素數
2
num?=?[]??#這里創建一個空列表是為了存儲結果
3
for?i?in?range(2,100):
4
????j?=?2
5
????while?j?<=?i/j?:?
6
????????if?i%j?==?0:?#%指計算余數
7
????????????break
8
????????j?=?j?+?1
9
????if?j?>?i/j:
10
????????num.append(i)
11
print(num)

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

函數,模塊,異常處理,讀取文件等未完待續。

來源:我的印象筆記整理

ABO

Me

JiangShi【ID:siteacher】

?AI CREATE FURTURE

VALUE LAST LONG

總結

以上是生活随笔為你收集整理的list选取多个元素 python_【幼儿园级】0基础学python一本通(上)——AI未来系列1...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。