python列表元素替換
❶ python如何替換list中的字元
利用re庫進行正則表達替換,python3.4中
importre
a=["123","456","789"]
d={"B":"2","E":"5","H":"8"}
b=",".join(a)
print(b)
foriind.keys():
b=re.sub(d[i],i,b)
print(b.split(","))
❷ python如何批量修改列表元素
list = ['一班張三', '二班李明', '二班張麗麗', '四班王強', '一班張志華']
list = ['樹人小學' + re.sub('^\w\w', '', x) for x in list]
print(list)
❸ python 求助如何用一個list中的值替換一個字元串中的某個數值!
描述相當不清楚。
這一行我是保存在一個list中 : 「這一行」是什麼數據類型?
另一個保存在list中(list有很多行)的數值 : 「另一個」是哪個?
你這種描述估計只有你自己能弄明白。
如果你不能描述清楚你想干什麼,那就直接說你想得到什麼樣的結果。
❹ python 中交換兩個列表元素的位置為什麼用numbers[i],numbers[i+1] = numbers[i+1],numbers[i]
numbers[i], numbers[i+1] = numbers[i+1], numbers[i]
這是一個賦值語句,相當於:
t = (numbers[i+1], numbers[i]) # t是一個tuple元組
numbers[i] = t[0]
numbers[i+1] = t[1]
例如:numbers = [5, 6, 7]
i = 0 時
賦值時就是把numbers[i], numbers[i+1] = numbers[i+1], numbers[i] 這個語句中
等號右邊的numbers[i+1], numbers[i] 先求值,得
numbers[1] == 6
numbers[0] == 5
再把 6, 5 賦值給等號左邊(因為list列表是可變的數據類型,它的值可以添加,刪除或改變),即:
numbers[i], numbers[i+1] = 6, 5
也就是:
numbers[0], numbers[1] = 6, 5
相當於:
numbers[0] = 6
numbers[1] = 5
此時,列表numbers 的值就被改變了(兩個元素交換了位置)。
在IDLE 中驗證如下:
>>> numbers = [5, 6, 7]
>>> i = 0
>>> numbers[i], numbers[i+1] = numbers[i+1], numbers[i]
>>> numbers
[6, 5, 7]
最後你的問題表述【交換兩個列表元素的位置】改成【交換列表中兩個元素的位置】是不是更沒有歧義?
❺ python怎麼把字元串最後一個字元去掉
1、先將字元串轉換成列表,之後再修改列表中的元素來完成,通過list(r)來將r字元串轉化成了一個列表。
❻ python 列表切片的用法集合
"""
其中,第一個數字start表示切片開始位置,默認為0;
第二個數字end表示切片截止(但不包含)位置(默認為列表長度);
第三個數字step表示切片的步長(默認為1)。
當start為0時可以省略,當end為列表長度時可以省略,
當step為1時可以省略,並且省略步長時可以同時省略最後一個冒號。
另外,當step為負整數時,表示反向切片,這時start應該比end的值要大才行。
"""
aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
print (aList[::]) # 返回包含原列表中所有元素的新列表
print (aList[::-1]) # 返回包含原列表中所有元素的逆序列表
print (aList[::2]) # 隔一個取一個,獲取偶數位置的元素
print (aList[1::2]) # 隔一個取一個,獲取奇數位置的元素
print (aList[3:6]) # 指定切片的開始和結束位置
aList[0:100] # 切片結束位置大於列表長度時,從列表尾部截斷
aList[100:] # 切片開始位置大於列表長度時,返回空列表
aList[len(aList):] = [9] # 在列表尾部增加元素
aList[:0] = [1, 2] # 在列表頭部插入元素
aList[3:3] = [4] # 在列表中間位置插入元素
aList[:3] = [1, 2] # 替換列表元素,等號兩邊的列表長度相等
aList[3:] = [4, 5, 6] # 等號兩邊的列表長度也可以不相等
aList[::2] = [0] * 3 # 隔一個修改一個
print (aList)
aList[::2] = ['a', 'b', 'c'] # 隔一個修改一個
aList[::2] = [1,2] # 左側切片不連續,等號兩邊列表長度必須相等
aList[:3] = [] # 刪除列表中前3個元素
del aList[:3] # 切片元素連續
del aList[::2] # 切片元素不連續,隔一個刪一個
❼ python 列表替換求解 不勝感激
如果你的list就如你所舉例,且你只需提取前端字母(只含有一個字母),可如下進行列表解析:
lit = ['a123','b123','c123']
tg = [i[0] for i in a] >>>> ['a','b','c']
這里用到了列表解析和字元串切片。當然,如果你的列表是這種["ab123", "c123",'dcf123"]
那上述方法就不靈了。然而,如果後面的數值數量相同也可以採用類似的方法,倒著切片。如下:
lit = ['ab123','b123','cdef123']
tg = [i[:-3] for i in a] >>>> ['ab','b','cdef']
最後,如果列表張這樣['a1232','b123','c123']。那上述方法都不靈了,需要用到更高級的語法。
❽ 新手關於Python程序編輯時遇到的問題
你的Python替換程序的主要問題有兩個
1 傳到replace函數中的lis被初始化為空列表
2 被替換後的列表rep沒有被返回主函數
改正後的Python替換程序如下(改動的地方見注釋)
defreplace(a,b,lis):
#lis=[]#這里去掉這句,傳過來的列表lis不能再初始化為空列表
rep=[bifx==aelsexforxinlis]
returnrep#這里加一句返回替換後的列表
lis=[1,2,3,4,5]
lis=replace(1,2,lis)#這里用原列表lis接收返回值
print(lis)
❾ python中如何修改列表中元素
在python中,前綴r或r表示「自然字元串」,特殊字元失去意義,所見即所得,這個設計類似perl的「單引號字元串」。
一般字元串newlinesareindicatedby\\n
等價於「自然字元串」
rnewlinesareindicatedby\n
和一般字元串相比,自然字元串里的\不再具有特殊含義,於是可以省去了一個\
在描述正則表達式時,推薦使用自然字元串,否則整行都是轉義字元\
❿ python替換list元素,列表alist中有很多0數字,要替換成1
alist=[1,3,5,2,0,3,7,0,0,3,7]
foriinrange(len(alist)):
ifalist[i]==0:
alist[i]=1
printalist