本文目錄一覽:
用python解決列表問題?
實現如下僅供參考:
def flat(nums):
res = []
for i in nums:
if isinstance(i, list):
res.extend(flat(i))
else:
res.append(i)
return res
s=[201,[1,2,3],201,[1,2,3,4,5],202,[1,2,3,4,5,7]]
s=flat(s)
print(s)
輸出:
[201, 1, 2, 3, 201, 1, 2, 3, 4, 5, 202, 1, 2, 3, 4, 5, 7]
Python 基礎知識全篇-列表(Lists)
示例
列表是元素的集合,存儲在一個變數中。列表中存儲的元素類型沒有限制,下面是列表的一個簡單例子。
命名和定義列表
因為列表是對象的集合,所以給它們一個複數的名稱是很好的做法。如果列表中的每一項都是一個 car, 就命名列表為 ‘cars’。這樣給你了一種直接的方式代表列表(’cars’),(』dog『)指代列表項。
在 Python 中,用中括弧定義一個列表。如下所示:
訪問列表元素
列表中的元素通過位置來標識,從零開始。訪問列表中的第一個元素,如下所示:
括弧中的數字為列表的索引(index)。因為列表索引從0開始,列表元素的索引總是比它的位置小。因此 Python 被稱為 zero-indexed 語言(諸如 C, Java)。
因此訪問第二個元素,我們需要用索引1,以此類推。
訪問列表中最後一個元素
訪問列表中的最後一個元素,可以用索引 -1。
訪問倒數第二個,倒數第三個也可以用這種語法。
但是你不能用一個絕對值大於列表長度的負數訪問。
動手試一試
First List
在列表中存儲 ‘python’,’c’,’java’。利用它們的位置列印出列表元素值。
First Neat List
在列表中存儲 ‘python’,’c’,’java’,對每一項,列印一條關於它的語句。
你的語句可以簡單的寫成,’A nice programming language is value’。
Your First List
定義一個自己的列表,包含3或4個元素,列印一條至少包含一項元素的語句。你的語句可以簡單的寫成,’One item in my list is a__.’。
Python列表操作
1、append()
append()對於列表的操作主要實現的是在特定的列表最後添加一個元素,並且只能一次添加一個元素,並且只能在列表最後;
m.append(元素A)
2、extend()
extend()對於列表的操作主要實現的是對於特定列表的擴展和增長,可以一次添加多個元素,不過也只能添加在列表的最後;
m.extend([元素A,元素B,……])
3、insert()
insert()對於列表的操作主要是在列表的特定位置添加想要添加的特定元素,比較常用,這裡的特定位置是指元素所在列表中的位置索引號,需要注意的是這裡的索引號都是從0開始的,不是從1開始的,這個大家需要特別注意。
m.insert(A,元素B):表示在列表m裡面的第A+1處加入元素B
1、m.remove()
m.remove的作用是移除掉列表m裡面的特定元素;
m.remove(元素A)
2、del m[n]
它的作用是刪除掉列表裡面的索引號位置為n 的元素,這裡需要注意的是del是一種操作語句。
del m[n]
3、m.pop()
它的作用是將列表m的最後一個元素返回,並且在此基礎上進行刪除掉
1、Temp=m[n]
獲取m列表第n+位置處的元素
1、Temp=m[A:B]
表示將m列表裡從索引號位置為A開始的元素到B-1處元素之間的列表獲取賦給temp.
1、+:它主要實現的是多個列表之間的拼接
常見的列表操作符
2、*:主要實現的是列表的複製和添加
3、比較,:主要進行數據型列表的元素比較
4、and等:;邏輯運算符,可以進行列表之間的邏輯判斷
1、m.count(A):輸出元素A在列表m裡面出現的次數
2、m.index(A):輸出元素A在列表m裡面的索引位置號
m.index(A,a,b):對於列表m裡面包含多個元素A時,輸出在列表m索引號a-b之間的特定索引號
3、m.reverse():將列表m進行前後的翻轉,前變後,後變前
4、m.sort():將列表m裡面地數據進行從小到大的排列
5、m.sort(reverse=True):將列表m裡面地數據進行從大到小的排列
其實對於列表m裡面的元素進行從大到小的排列還可以用以下方法:
N=m.sort()
N.reverse()
1) 深拷貝:
M=[A,b,a,c]
N=M[:]
2) 淺拷貝:
N=M
用python來解決列表問題?
雖然實現的方式不優雅,但確實能夠解決你的問題,代碼如下:
def plastic(l):
l_sort = sorted(l)
result = list(range(len(l)))
for n,i in enumerate(l_sort,1):
result[l.index(i)] = n
return result
S=[[5,4,3,2,0],[6,5,4,0,1],[0,6,5,1,2],[1,7,6,0,3]]
S=list(map(plastic,S))
print(S)
輸出:
[[5, 4, 3, 2, 1], [5, 4, 3, 1, 2], [1, 5, 4, 2, 3], [2, 5, 4, 1, 3]]
Python列表問題?
你也是個高手啊;
你用的不是python自帶的IDLE中的交互模式,交互模式不需要print函數就可以出結果,但是其它的工具都是需要用print函數才能在控制台輸出結果的。
把你第二行代碼放入print( 代碼 ) 裡面就可以了
原創文章,作者:PK3I9,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129387.html