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

歡迎訪問 生活随笔!

生活随笔

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

python

python(16)-列表list,for循环

發布時間:2023/12/13 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python(16)-列表list,for循环 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

高級數據類型--列表

  • 1列表定義
  • 2列表中取值
  • 3列表的增,刪,查,改
    • 3.1修改指定位置的數據
    • 3.2確定指定元素的索引
    • 3.3增加操作
    • 3.4刪除操作
    • 3.5 元素是否存在與列表中 in
    • 3.6在指定索引位置插入元素
  • 4列表的數據統計
  • 5列表排序
  • 6列表的循環遍歷-for
  • 7.多維度list 的切片操作

非數值類型:列表,元祖,字典,字符串,都是Python中的高級變量類型
Python中的非數值類型都支持一些共同的操作:都是一個序列,也可以理解為容器,用來裝東西用

列表數據類型的應用場景:存儲多個相同類型的數據,通過迭代遍歷,針對每一項元素,執行相同的操作
注意: 列表中可以存不同類型的數據,但是一般不這么用。

Python中的列表由于其靈活的操作,既可實現堆棧操作(先進后出),還可實現隊列操作(先進先出)

1列表定義

列表-在其他語言中等價于數組,用于存儲一串信息
記錄三個人的名字,可以 用三個字符串變量存儲,也可以用一個列表存儲多個變量

name_list=[“zhangsan”,“lisi”,“wangwu”]

用[]定義列表,其中元素用逗號,分隔

2列表中取值

利用索引取出列表中的元素,索引超出范圍,程序會報錯

name_list[1]

zhangsan

3列表的增,刪,查,改

列表的常用操作包括 :增,刪,查,改。可以通過函數方法兩種方式來執行常用操作:函數通過函數名()調用,方法通過變量名.方法名調用

3.1修改指定位置的數據

name_list[1]=‘lisisi’

3.2確定指定元素的索引

name_list.index(“lisi”)

使用index方法需要注意,如果傳遞的數據不在列表中,程序會報錯

3.3增加操作

1.向列表的末尾追加數據

name_list.append(“wangxiaoer”)

2.在列表的指定索引位置添加一個數據(添加在0,1之間)

name_list.insert(1,“xiaomeiemi”)

3.將可以迭代的數據增加到當前對象的末尾

temp_list=[“sunwukong”,“zhuerge”,“sanshidia”]
name_list.extend(temp_list)

3.4刪除操作

1.刪除指定的數據,當列表中有多個“zhangsan”,會刪掉一個第一個指定數據

name_list.remove(“wangwu”)

2.pop默認可以將列表中最后一個元素刪除

name_list.pop()

pop方法可以指定索引,刪除元素,同時可以將彈出的元素返回

a=name_list.pop(3)

3.claer方法將列表清空呢

name_list.clear()

name_list=[]

Python2.7版本的編譯器中沒有這個方法偶,如果有,會將列表清空呢

4.擴展: Del 從列表中刪除數據,用于刪除指定索引的元素

del name_list[1]

del本質上是將變量從內存中刪除,如果使用del刪除了一個變量,那么后續就不能使用該變量。慎重使用

3.5 元素是否存在與列表中 in

3.6在指定索引位置插入元素

list.insert(index, obj)

4列表的數據統計

數據統計操作包括一個函數一個方法

1.統計列表數據保存了多少個數據,列表數據的長度

list_len=len(name_list)
print(“列表中包含:%d”%list_len)

2.統計某個數據出現的次數

count=name_list.count(“zhangsan”)
print(“zhangsan 出現了:%d”%count)

5列表排序

新定義兩個列表:
name_list=[“zhangsan”,“lisi”,“wangwu”,“wangxiaoer”]
num_list=[6,8,4,1,10]

默認升序排序,字符串按首字母的順序a-z

name_list.sort()
num_list.sort()

降序輸出

name_list.sort(reverse=True)
num_list.sort(reverse=True)

翻轉(逆序)

name_list.reverse()
num_list.reverse()

翻轉列表一部分內容

#to reverse a part of the string in place
a = [1,2,3,4,5]
a[2:4] = reversed(a[2:4]) # This works!
a[2:4] = [0,0] # This works too.
a[2:4].reverse() # But this doesn’t work

參考資料:https://cloud.tencent.com/developer/ask/53697

索引實現列表逆序

a=[1,2,3,4,5]
a[::-1] # 為a[i:j:s]的缺省表示,i=0,j=len(a),s=-1

參考博文:https://blog.csdn.net/marraybug/article/details/85163484

lambda表達式在sort函數中的使用
假如a是一個由元組構成的列表,對該列表進行排序時,我們需要用到參數key,也就是關鍵詞,如下面代碼所示,lambda是一個匿名函數,是固定寫法;x表示匿名函數的輸入,即列表中的一個元素,在這里,表示一個元組,x只是臨時起的一個名字,你可以使用任意的名字;x[0]表示匿名函數的輸出,即元組里的第一個元素,即key = x[0];所以這句命令的意思就是按照列表中第一個元素進行排序。

a = [(‘b’, 4), (‘a’, 12), (‘d’, 7), (‘h’, 6), (‘j’, 3)]
a.sort(key=lambda x: x[0])
print(a)
#輸出
[(‘a’, 12), (‘b’, 4), (‘d’, 7), (‘h’, 6), (‘j’, 3)]

參考博文:https://www.cnblogs.com/lovewhale1997/p/11424429.html

6列表的循環遍歷-for

循環遍歷:從頭到為 依次從列表中獲取數據,在循環體內部對每個元素執行相同的操作。為了提高列表的遍歷效率,專門提供了迭代interation遍歷,For能夠實現迭代遍歷。

name_list=["zhangsan","lisi","wangwu","wangxiaoer"] for my_name in name_list:print("我的名字叫:%s"%my_name)

順序的從列表中依次獲取數據,每一次循環過程中,數據都會保存在my_name
通過my_name這個變量中,每次在循環體內部都可以訪問當前這一次獲取到的數據

for my_name in name_list(要遍歷的列表變量):

優點:不需要設計計數器,也不需要對計數器進行操作

#6鏈表的加法
兩個鏈表相加,實現兩個鏈表的拼接:

[1,2]+[3,4]
輸出:[1, 2, 3, 4]

7.多維度list 的切片操作

>>> a = [[1,2,3],[4,5,6],[7,8,9]] >>> a // 沒有size,和shape方法 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> a[0] [1, 2, 3] >>> a[0][0] 1 >>> a[:2] // 結果是一個list ,再次切片也只是對于第0維度的一個切片 [[1, 2, 3], [4, 5, 6]] >>> a[:][0] // 并不是想要的所有行,第0[147],想要實現這個切片操作,可以將其轉換為numpy數組再操作 [1, 2, 3]

轉換成numpy數組,拼接時沒有list.append()那么直接,需要用numpy.concatenate()進行拼接,但是這個拼接維度的數量不會增加,如果需要多增加一個維度,可以使用[array1,array2,array3]再轉tensor/array的方法進行操作。

總結

以上是生活随笔為你收集整理的python(16)-列表list,for循环的全部內容,希望文章能夠幫你解決所遇到的問題。

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