当前位置:首页 » 编程语言 » python列表元素替换

python列表元素替换

发布时间: 2022-10-28 13:15:29

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

热点内容
linux怎么改ip 发布:2025-01-04 05:39:32 浏览:477
c语言mallocfree 发布:2025-01-04 05:38:49 浏览:267
台式电脑在哪里设置密码锁 发布:2025-01-04 05:36:27 浏览:631
msg编译路径 发布:2025-01-04 05:36:26 浏览:666
雷霆战机电脑脚本 发布:2025-01-04 05:26:43 浏览:995
原神在哪里下载安卓手机 发布:2025-01-04 05:21:50 浏览:378
csr2安卓正式服在哪里 发布:2025-01-04 05:17:33 浏览:222
幼儿园中班画画脚本设计 发布:2025-01-04 05:04:38 浏览:81
oledbsqlprovider 发布:2025-01-04 04:58:59 浏览:314
我的世界pc服务器送装备 发布:2025-01-04 04:45:37 浏览:357