中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

python序列(二)-創(chuàng)新互聯(lián)

列表(list)

-

創(chuàng)新互聯(lián)建站專注于企業(yè)全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、臨高網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為臨高等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
list的特點(diǎn)
1.有序
2.編號(hào),可以通過編號(hào)訪問
3.可遍歷
4.可追加/可插入
5.可刪除/可以彈出
6.可修改
7.長(zhǎng)度不定
list的定義:
1.使用中括號(hào)包含
2.每個(gè)元素之間使用逗號(hào)分隔
3.可包含任意數(shù)據(jù)類型

####訪問list
1.列表是有序的數(shù)據(jù)集,通過列表名[索引]的方式訪問列表中的元素
2.索引編號(hào)
3.從左向右依次為0,1,2,3,…,n – 1
4.從右向左一次為-1,-2,-3,…,-n
5.訪問元素的索引必須存在,否則報(bào)錯(cuò)
6.元素修改
7.通過直接給 列表名[索引] 修改對(duì)應(yīng)索引位置的值
8.修改元素的索引必須存在,否則報(bào)錯(cuò)
9.刪除 del

使用for訪問列表中所有的元素
1.類型轉(zhuǎn)換
2.可以通過函數(shù)list將其他可遍歷的類型轉(zhuǎn)化為列表
3.使用range函數(shù)快速創(chuàng)建序列
4.range(end) 創(chuàng)建從0到end-1的連續(xù)整數(shù)組成的序列
5.range(start, end) 創(chuàng)建從start到end-1的連續(xù)整數(shù)組成的序列
6.range(start, end, step)創(chuàng)建從start到end-1的每間隔stop個(gè)整數(shù)組成的序列
列表常見操作
1.獲取list元素的數(shù)量
>>> nums = [1,2,3,True,False,['a','b','c'],'zhangsan']
>>> len(nums)
7
2.獲取list中元素大值、最小值
大值:max
>>> max_l1 = [1,22,33,44,3,4,5]
>>> max(max_l1)
44

獲取list中元素的最小值:
>>> max_l1 = [1,22,33,44,3,4,5]
>>> min(max_l1)
1

#####3.判斷元素是否在list中存儲(chǔ)

>>> l1
[1, 22, 11, 13, 12, 14]
>>> 1 in l1
True
>>> 10 not in l1
True
4.根據(jù)索引刪除list中對(duì)應(yīng)元素
>>> l1
[1, 22, 11, 13, 12, 14]
>>>
>>> del l1[2]   
>>> l1
[1, 22, 13, 12, 14]
列表運(yùn)算
  • 四則運(yùn)算
    • 加(+)
    • 必須為兩個(gè)list相加
    • 乘(*)
    • 必須一個(gè)為整數(shù)
  • 練習(xí):
    >>> l1 = [1,2,3]
    >>> l2 = [4,5,6]
    >>> l1 + l2
    [1, 2, 3, 4, 5, 6]
    >>> l1 *3
    [1, 2, 3, 1, 2, 3, 1, 2, 3]
    >>> l2 *2
    [4, 5, 6, 4, 5, 6]

    ####按照規(guī)則獲取list中一部分元素生成新的list
    list[start:end:step]
    list[::step]
    list[start:end]
    list[:end]
    list[start:]
    list[:]
    切片的應(yīng)用

  • 復(fù)制數(shù)組
    >>> num=list(range(10))
    >>> num
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> nums_1 =num
    >>> nums_1[1]=20
    >>> num
    [0, 20, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> id(num)
    140243791733960 用id(num)表示內(nèi)存地址
  • 反轉(zhuǎn)
    >>> n1
    [0, 20, 2, 3, 4, 5, 6, 7, 8, 9]
    >>>
    >>> n1[::-1]
    [9, 8, 7, 6, 5, 4, 3, 2, 20, 0]
  • 獲取索引為偶數(shù)的元素組成的list
    >>> n1[::2]
    [0, 2, 4, 6, 8]
  • 獲取索引為奇數(shù)的元素組成的list

    >>> n1
    [0, 20, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> n1[::3]
    [0, 3, 6, 9]
    列表函數(shù)
  • append 添加元素到list最右側(cè)
  • clear 清空list中的元素
  • copy 復(fù)制list中的所有元素到新list中并返回
  • count 計(jì)算list中存在相同元素的數(shù)量
  • extend 將一個(gè)可遍歷數(shù)據(jù)中的所有元素追加到list后
  • index 獲取元素在list中的位置
  • insert 在list指定位置添加元素
  • pop 彈出list中指定位置的元素(默認(rèn)最右側(cè))
  • remove 移除list中指定的元素
  • reverse對(duì)list中元素進(jìn)行反轉(zhuǎn)
  • sort 對(duì)list中元素進(jìn)行排序

##幫助函數(shù)

>>> dir(list())
['__add__', '__class__', '__contains__', 
'__delattr__', '__delitem__', '__dir__', 
'__doc__', '__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__', '__gt__',
'__hash__', '__iadd__', '__imul__', '__init__',
'__init_subclass__', '__iter__', '__le__', 
'__len__', '__lt__', '__mul__', '__ne__', 
'__new__', '__reduce__', '__reduce_ex__', 
'__repr__', '__reversed__', '__rmul__',
'__setattr__', '__setitem__', '__sizeof__',
'__str__', '__subclasshook__', 'append', 
'clear', 'copy', 'count', 'extend', 'index', 
'insert', 'pop', 'remove', 'reverse', 'sort']
  • 查看函數(shù)使用方法
>>> help(list.append)
Help on method_descriptor:

append(...)
L.append(object) -> None -- append object to end

函數(shù):append 、 extend

描述 append extend
參數(shù)類型 任意類型 可遍歷
返回值
功能 將參數(shù)中元素整體追加到list最右側(cè) 將可遍歷參數(shù)中的每個(gè)元素追加到list最右側(cè)
  • append
>>> nums
[1, 'zhangsan', [2, 3, 4]]
>>> nums.append('dxy')
>>> nums.append([1,23,4,[1,2,3]])
>>> nums
[1, 'zhangsan', [2, 3, 4], 'dxy', [1, 23, 4, [1, 2, 3]]]
  • extend

    >>> nums
    [1, 'zhangsan', [2, 3, 4]]
    >>> nums.append('dxy')
    >>> nums.append([1,23,4,[1,2,3]])
    >>> nums
    [1, 'zhangsan', [2, 3, 4], 'dxy', [1, 23, 4, [1, 2, 3]]]

    函數(shù):Clear 、copy

    描述 clear copy
    參數(shù)類型
    返回值 list
    功能 清空list 賦值list的元素并返回
  • clear
    >>> nums
    [1, 'zhangsan', [2, 3, 4], 'dxy', [1, 23, 4, [1, 2, 3]]]
    >>> nums.clear()
    >>> nums
    []
  • copy
    >>> nums = [1,2,3,4,5]
    >>> nums_1 = nums.copy()
    >>> nums_1
    [1, 2, 3, 4, 5]
    >>> nums_1[2] = 100
    >>> nums
    [1, 2, 3, 4, 5]
    >>> nums_1
    [1, 2, 100, 4, 5]

函數(shù):count、index

描述 count index
參數(shù)類型 任意類型 任意類型
返回值 lnt int
功能 獲取元素在list中出現(xiàn)的次數(shù) 獲取元素在list中的位置,不存在則報(bào)錯(cuò),可指定查找list start和end范圍
  • count
    >>> nums = list(range(10))
    >>> nums
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> nums.count(3)
    1
    >>> nums.count(-1)
    0

  • index
    >>> nums
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> nums.index(4)
    4
    >>> nums.index(-1)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ValueError: -1 is not in list
    >>> nums.index(2)
    2
    >>> nums.index(6)
    6

函數(shù):pop、remove

描述 pop remove
參數(shù)類型 整數(shù) 任意
返回值 任意
功能 根據(jù)索引刪除list中元素,并返回,若索引在list中不存在則報(bào)錯(cuò) 從list中刪除指定的值,若值不存在,則報(bào)錯(cuò)
  • pop
    >>> nums
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> nums.pop()
    9
    >>> nums.pop()
    8
    >>> nums
    [0, 1, 2, 3, 4, 5, 6, 7]
    >>> nums.pop(3)
    3
    >>> nums.pop(5)
    6
    >>> nums
    [0, 1, 2, 4, 5, 7]

  • remove
    >>> nums = [1,2,3,4,5,6,7,8]
    >>> nums
    [1, 2, 3, 4, 5, 6, 7, 8]
    >>> nums.remove(4)
    >>> nums.remove(8)
    >>> nums
    [1, 2, 3, 5, 6, 7]
    >>>

    函數(shù) reverse sort

    描述 reverse sort
    參數(shù)類型 排序規(guī)則、是否反轉(zhuǎn)
    返回值
    功能 對(duì)list的元素是否反轉(zhuǎn) 對(duì)list中的元素進(jìn)行排序

  • reverse
    >>> nums
    [1, 2, 3, 5, 6, 7]
    >>> nums.reverse()
    >>> nums
    [7, 6, 5, 3, 2, 1]
  • sort
    >>> le
    [1, 6, 7, 4, 3, 9, 10]
    >>> le.sort()
    >>> le
    [1, 3, 4, 6, 7, 9, 10]
  • 隊(duì)列
    • 先進(jìn)先出
    • list.append + list.pop(0)
  • 堆棧
    • 先進(jìn)后出
    • list.append + list.pop
      
      練習(xí)代碼:
      jobs = []

while True:
prompt = input('請(qǐng)輸入任務(wù)名稱/do:')
if prompt == 'do':
if jobs:
print('請(qǐng)完成任務(wù):' + jobs.pop(0))
else:
print('所有任務(wù)已完成,可以放心下班啦')
break
else:
jobs.append(prompt)

常用函數(shù):len max min sum 
-
    len 顯示列表的長(zhǎng)度
    max 顯示列表的大值
    min 顯示列表的最小值
    sum 顯示所有元素的和

##元組介紹

* 不可變的列表                          
* 定義                            
* 使用小括號(hào)包含                         
* 每個(gè)元素之間使用逗號(hào)分隔                    
* 可包含任意數(shù)據(jù)類型                       
* 如果元組只有一個(gè)元素時(shí),元素后的逗號(hào)不能省略          

元組與列表相同的操作: 
-                    
* 使用方括號(hào)加下標(biāo)訪問元素                 
* 切片(形成新元組對(duì)象)                  
* count()/index()              
* len()/max()/min()/tuple()    
** **
元組中不允許的操作:                                    
-                                                           
* 修改、新增元素                                                   
* 刪除某個(gè)元素(但可以刪除整個(gè)元組)                                         
* 所有會(huì)對(duì)元組內(nèi)部元素發(fā)生修改動(dòng)作的方法。例如,元組沒有remove,append,pop等方法。          

訪問與修改元組
-
-   訪問
- 元組是有序的數(shù)據(jù)集,通過元組名[索引]的方式訪問元組中的元素
- 索引編號(hào)
- 從左向右依次為0,1,2,3,…,n – 1
- 從右向左一次為-1,-2,-3,…,-n
- 訪問元素的索引必須存在,否則報(bào)錯(cuò)
- 元素不能修改

元組的四則運(yùn)算
- 

- 加(+)
    - 必須為兩個(gè)tuple相加
- 乘(*)
    - 必須一個(gè)為整數(shù)
```python
練習(xí):
>>> (1,2,3)+(4,5,6)
(1, 2, 3, 4, 5, 6)
>>> (1,2,3)*2
(1, 2, 3, 1, 2, 3)

python表達(dá)式 結(jié)果 描述
len(1,2,3) 3 計(jì)算元素的長(zhǎng)度
(1,2,3)+(4,5,6) (1,2,3,4,5,6) 相加-連接
('Hi!',)*4 ('H!,',('H!,',('H!,',('H!,') 復(fù)制
3 in(1,2,3) True 元素是否存在
for x in(1,2,3):print(x) 123 遍歷

遍歷元組

  • 使用for訪問元組中所有的元素
  • 類型轉(zhuǎn)換
  • 可以通過函數(shù)tuple將其他可遍歷的類型轉(zhuǎn)化為元組
    >>> tuple(range(10))
    (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

    元組常見操作

  • 獲取tuple元素的數(shù)量
  • 獲取tuple中元素大值、最小值
  • 判斷元素是否在tuple中存儲(chǔ)
    >>> nums
    (1, 2, 3, 4, 5)
    >>> len(nums)
    5
    >>> max(nums)
    5
    >>> 2 in nums
    True
    >>> 10 not in nums
    True

    元組的四則運(yùn)算

  • 加(+)
    • 必須為兩個(gè)tuple相加
  • 乘(*)
    • 必須一個(gè)為整數(shù)
      
      >>> t1 = (1,2,3)
      >>> t2 = (4,5,6)
      >>> t1 + t2
      (1, 2, 3, 4, 5, 6)
      >>> t1 *2
      (1, 2, 3, 1, 2, 3)
元組的切片
-
- 按照規(guī)則獲取tuple中一部分元素生成新的tuple
    - tuple[start:end:step]
    - tuple [::step]
    - tuple[start:end]
    - tuple[:end]
    - tuple [start:]
    - tuple[:]
```python
>>> nums = tuple(range(10))
>>> nums
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> nums[:3]
(0, 1, 2)
>>> nums[4:7]
(4, 5, 6)
>>> nums[4:7:2]
(4, 6)

元組的不可變性

  • 不可變指的是元組的內(nèi)元素的值不可變
  • 對(duì)于list等復(fù)雜數(shù)據(jù)類型的為引用方式存儲(chǔ)數(shù)據(jù)類型的地址,其地址不可變,但內(nèi)部數(shù)據(jù)可變
  • count 計(jì)算tuple中存在相同元素的數(shù)量
  • index 獲取元素在tuple中的位置
  • split 分割
  • 元組只保證它的一級(jí)子元素不可變,對(duì)于嵌套的元素內(nèi)部,不保證不可變!
    >>> tup = ('a', 'b', ['A', 'B'])
    >>> tup[2][0] = 'X'
    >>> tup[2][1] = 'Y'
    >>> tup 
    ('a', 'b', ['X', 'Y'])

    >>> l1
    (1, 2, [5, 6])
    >>>
    >>>
    >>> l1[2]
    [5, 6]
    >>> l1[2] = [11,22,33]
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    TypeError: 'tuple' object does not support item assignment

元組函數(shù)

count 計(jì)算tuple中存在相同元素的數(shù)量
index 獲取元素在tuple中的位置

>>> dir(tuple)
['__add__', '__class__', 
'__contains__', '__delattr__',
 '__dir__', '__doc__', '__eq__', 
 '__format__', '__ge__', '__getattribute__', 
 '__getitem__', '__getnewargs__', '__gt__', 
 '__hash__', '__init__', '__init_subclass__',
  '__iter__', '__le__', '__len__', '__lt__', 
  '__mul__', '__ne__', '__new__', 
  '__reduce__', '__reduce_ex__', 
  '__repr__', '__rmul__', '__setattr__',
  '__sizeof__', '__str__', '__subclasshook__',
   'count', 'index']

課堂練習(xí)

  • 找出 nums=[6, 11, 7, 9, 4, 2, 1]中大的數(shù)字
  • 移動(dòng)nums中大的數(shù)字到最后
  • 從右到左依次兩兩比較,如果前面比后面大,則交換位置
  • 第1次: 6,11比較,前面小,不交換[6, 11, 7, 9, 4, 2, 1]
  • 第2次: 11, 7比較,前面大,交換[6, 7, 11, 9, 4, 2, 1]
  • 第3次: 11, 9比較,前面大,交換[6, 7, 9, 11, 4, 2, 1]
  • 第4次: 11, 4比較,前面大,交換[6, 7, 9, 4, 11, 2, 1]
  • 第5次: 11, 2比較,前面大,交換[6, 7, 9, 4, 2, 11, 1]
  • 第6次: 11, 1比較,前面大,交換[6, 7, 9, 4, 2, 1, 11]
  • 交換元素
  • tmp = a; a=b; b = tmp;
  • a, b = b, a
    
    nums=[6, 11, 7, 9, 4, 2, 1]

for i in range(len(nums)-1):
for idx in range(len(nums)-1):
if nums[idx] > nums[idx +1]:
tmp = nums[idx]
nums[idx] = nums[idx + 1]
nums[idx +1] = tmp
print(nums)

練習(xí)2
- 

* 獲取兩個(gè)list中相同的元素到第三個(gè)列表中
* nums_1 = [1, 2, 3, 4, 5, 3, 10, 11]
* nums_2 = [1, 2, 3, 1, 4, 5, 5, 3, 12, 34]
* 保證第二個(gè)練習(xí)中第三個(gè)列表中元素不重復(fù)

```python
nums1 = [1,2,3,4,5,3,10,11]
nums2 = [1,2,3,1,4,5,5,3,12,24]
nums3 = []

for i in nums1:
    if i in nums2 and i not in nums3:
        nums3.append(i)
print(nums3)

None

  • None 表示什么都沒有
  • python中None代表一個(gè)特殊的空值,即為一個(gè)空對(duì)象,沒有任何的值
  • 練習(xí)中 None 解決nums負(fù)值的問題
    
    nums = [-1,-2,-3,-4,11,22]

first_num = None
for num in nums:
if first_num is None:
first_num = num
elif num > first_num:
first_num = num
print(first_num)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱:python序列(二)-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://www.rwnh.cn/article10/ccshdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、微信小程序、移動(dòng)網(wǎng)站建設(shè)、定制開發(fā)、品牌網(wǎng)站設(shè)計(jì)網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
广灵县| 织金县| 枝江市| 东平县| 新兴县| 昌邑市| 新巴尔虎左旗| 阜城县| 鄯善县| 大新县| 昭通市| 陆川县| 黔西县| 寿宁县| 武乡县| 屏山县| 山阴县| 东丰县| 婺源县| 南投市| 昌吉市| 青田县| 阳高县| 敦煌市| 进贤县| 东城区| 紫阳县| 河津市| 封开县| 纳雍县| 东乌珠穆沁旗| 富裕县| 离岛区| 东乌珠穆沁旗| 尼勒克县| 怀安县| 博白县| 桓台县| 南漳县| 阿克陶县| 灵璧县|