[英]Python3: Change one character of item in list
我有一个这样的清单:
['ID|number1|number2|+|name|location','ID2|number3|number4|-|name2|location2']
该列表是从字典生成的,并且包含字典的键。 我想更改第一个“ |” 变成'='。
我尝试了这个:
keyList=[]
for item in finalDict.keys():
keyList.append(item)
z=0
for item in keyList:
for letter in item:
if letter=='|':
z+=1
if z==1:
letter.replace('|', '=')
但是我没有收到错误或期望的输出
Actual output:
['ID|number1|number2|+|name|location','ID2|number3|number4|-|name2|location2']
Desired output:
['ID=number1|number2|+|name|location','ID2=number3|number4|-|name2|location2']
更改第一个“ |” 变成'='
用简单的方式:
keyList = ['ID|number1|number2|+|name|location','ID2|number3|number4|-|name2|location2']
result = [k.replace('|', '=', 1) for k in keyList]
print(result)
输出:
['ID=number1|number2|+|name|location', 'ID2=number3|number4|-|name2|location2']
str.replace(old, new[, count])
-如果给出了可选的参数count
,则仅替换第一个出现的计数。 l=['ID|number1|number2|+|name|location','ID2|number3|number4|-|name2|location2']
j=[]
for i in l:
i=i.replace("|","=",1)
j.append(i)
print(j)
输出量
['ID=number1|number2|+|name|location', 'ID2=number3|number4|-|name2|location2']
使用列表综合+正则表达式
import re
theList=['ID|number1|number2|+|name|location','ID2|number3|number4|-|name2|location2']
print [ re.sub(r'(ID.?)\|',r'\1=',item) for item in theList]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.