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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

day2-元组 列表-赋值和深浅拷贝

發布時間:2024/7/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 day2-元组 列表-赋值和深浅拷贝 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 元組

元組其實跟列表差不多,也是存一組數,只不是它一旦創建,便不能再修改,所以又叫只讀列表

用途:一般情況下用于自己寫的程序能存下數據,但是又希望這些數據不會被改變,比如:數據庫連接信息等

1. 定義元組

>>> tup = ('a','b','c','d')

2. 訪問元組中的元素

>>> tup = ('a','b','c','d') >>> tup ('a', 'b', 'c', 'd') >>> tup[0] 'a' >>> tup[1] 'b' >>> tup[-1] 'd' View Code

3. 統計(count(元素)

>>> tup = ('a','b','c','a','a') >>> tup.count('a') 3

4. 索引 (index(元素)

>>> tup = ('a','b','c','a','a') >>> tup.index('c') 2

小結:

  • 元組中的數據不可以被修改,不可以添加,不可以刪除(除非是元組中嵌套列表或者字典,列表和字典的值是可以修改的)
  • 元組的獲取元素的方式和列表相同,都是通過下標訪問,下標值都是從0開始
  • 由于元組只能讀,所以元組只有count和index兩個方法
  • 元組的切片功能和列表一樣
  • 二 列表

    列表是Python最常用的數據類型之一,通過列表可以對數據實現最方便的存儲,修改等操作。

    1. 定義列表

    >>> names = [] #定義空列表 >>> names = ['a','b','c'] #定義一個非空列表

    2. 訪問列表中的元素

    >>> names ['a', 'b', 'c'] >>> names[0] 'a' >>> names[1] 'b' >>> names[2] 'c' >>> names[-1] #還可以倒著取 'c'

    注:列表中的下標值是從0開始取的

    3. 切片

    >>> names = ['apple','huawei','xiaomi','vivo'] >>> names[1:3] #取1到3之間的元素,包括1,不包括3 ['huawei', 'xiaomi'] >>> names[1:-1] #取1到-1之間的元素,包括1,不包括-1 ['huawei', 'xiaomi'] >>> names[0:3] ['apple', 'huawei', 'xiaomi'] >>> names[:3] #從頭開始取,0可以省略,效果等同于names[0:3] ['apple', 'huawei', 'xiaomi'] >>> names[2:] #想取到最后一個值,必須不能寫-1,只能這么寫 ['xiaomi', 'vivo'] >>> names[-3:-1] ['huawei', 'xiaomi'] >>> names[-3:] ['huawei', 'xiaomi', 'vivo'] >>> names[0::2] #后面的2表示:每隔一個元素就取一個 ['apple', 'xiaomi'] >>> names[::2] #從頭開始0可以省略,效果跟上一句一樣 ['apple', 'xiaomi'] View Code

    切片小結:

  • 序列始終都是從左向右切片的,不能從右向左
  • 列表切片時,起始位的元素是包括的,結束位的元素是不包括(又叫顧頭不顧尾),最后一個位置表示步長(names[開始位:結束位:步長]
  • 若果從0位置取值,0可以省略
  • 想取最后一個值,結束位不能為-1,因為結束位的元素不包括,所以只能留空
  • 4. 追加(append(元素)

    >>> names ['apple', 'huawei', 'xiaomi', 'vivo'] >>> names.append('oppo') >>> names ['apple', 'huawei', 'xiaomi', 'vivo', 'oppo'] #'oppo'是新加的元素 View Code

    5. 插入(insert(下標值,插入的內容)

    >>> names ['apple', 'huawei', 'xiaomi', 'vivo', 'oppo'] >>> names.insert(0,'samsung') #0表示需要插入的下標值,'samsung'表示插入的內容 >>> names ['samsung', 'apple', 'huawei', 'xiaomi', 'vivo', 'oppo'] #在下標值為0的地方插入'samsung' >>> names.insert(4,'neizu') >>> names ['samsung', 'apple', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] View Code

    6. 修改

    >>> names ['samsung', 'apple', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names[1] = 'chuizi' >>> names ['samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] View Code

    注:修改列表中的元素,直接是names[下標值] = 新元素

    7. 拷貝(copy()

    >>> names ['samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names2 = names.copy() >>> names2 ['samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] View Code

    注:這里的copy都是淺copy,只能copy第一層。深淺拷貝的詳細信息:python——賦值與深淺拷貝

    8. 刪除(del , remove() , pop()

    >>> names ['samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> del names[1] #根據下標值刪除元素 >>> names ['samsung', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names.remove('neizu') #根據元素刪除 >>> names ['samsung', 'huawei', 'xiaomi', 'vivo', 'oppo'] >>> names.pop() #刪除最后一個 'oppo' >>> names ['samsung', 'huawei', 'xiaomi', 'vivo'] >>> names.pop(0) #在輸入下標值的情況下和del的效果是一樣的,則是刪掉具體某個元素 'samsung' >>> names ['huawei', 'xiaomi', 'vivo'] >>> del names #刪除names這個變量 >>> names Traceback (most recent call last):File "<stdin>", line 1, in <module> NameError: name 'names' is not defined View Code

    9. 擴展(extend()

    >>> names2 ['samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names1 = ['a','b','c','d'] >>> names1.extend(names2) >>> names1 ['a', 'b', 'c', 'd', 'samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] View Code

    注:names2 的列表合并到names1中,但是,names2列表依然存在,如果想刪除names2這個變量,則只需del names2即可

    10. 統計(count()

    >>> names1 ['a', 'b', 'c', 'd', 'samsung', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names1.insert(5,'a') >>> names1 ['a', 'b', 'c', 'd', 'samsung', 'a', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names1.count('a') #統計'a'元素的個數 2 View Code

    11. 翻轉(reverse()

    >>> names1 ['a', 'b', 'c', 'd', 'samsung', 'a', 'chuizi', 'huawei', 'xiaomi', 'neizu', 'vivo', 'oppo'] >>> names1.reverse() #將整個列表翻轉過來 >>> names1 ['oppo', 'vivo', 'neizu', 'xiaomi', 'huawei', 'chuizi', 'a', 'samsung', 'd', 'c', 'b', 'a'] View Code

    12. 排序(sort()

    >>> names1 ['oppo', 'vivo', 'neizu', 'xiaomi', 'huawei', 'chuizi', 'a', 'samsung', 'd', 'c', 'b', 'a'] >>> names1.sort() >>> names1 ['a', 'a', 'b', 'c', 'chuizi', 'd', 'huawei', 'neizu', 'oppo', 'samsung', 'vivo', 'xiaomi'] View Code

    13. 獲取下標值(index('元素')

    >>> names1 ['a', 'a', 'b', 'c', 'chuizi', 'd', 'huawei', 'neizu', 'oppo', 'samsung', 'vivo', 'xiaomi'] >>> names1.index('a') 0 >>> names1.index('huawei') 6 View Code

    14. 清空列表(clear()

    >>> names1 ['a', 'a', 'b', 'c', 'chuizi', 'd', 'huawei', 'neizu', 'oppo', 'samsung', 'vivo', 'xiaomi'] >>> names.clear() >>> names [] View Code

    ?

    轉載于:https://www.cnblogs.com/Easonlou/p/8124977.html

    總結

    以上是生活随笔為你收集整理的day2-元组 列表-赋值和深浅拷贝的全部內容,希望文章能夠幫你解決所遇到的問題。

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