JD2*_*775 3 python string slice
我想取以下字符串并根据管道分隔符对其进行切片:
address = '1234 Broadway Ave | Los Angeles | CA | 94530'
Run Code Online (Sandbox Code Playgroud)
我想出了第一件作品:
street = address[:address.index('|')]
print(street)
1234 Broadway Ave
Run Code Online (Sandbox Code Playgroud)
但我不知道如何获得城市/州/邮编:
city =
state =
zip =
Run Code Online (Sandbox Code Playgroud)
另外,有更好的方法吗?使用RegEx或类似的东西?之前没用过..
谢谢!
您可以通过只在拆分得到每个项目'|'有str.split(),并使用str.strip()带走每个项目的开头和结尾的空白:
address = '1234 Broadway Ave | Los Angeles | CA | 94530'
items = [x.strip() for x in address.split('|')]
print(items)
Run Code Online (Sandbox Code Playgroud)
这使:
['1234 Broadway Ave', 'Los Angeles', 'CA', '94530']
Run Code Online (Sandbox Code Playgroud)
此外,您还可以很好地完成以下工作map():
items = list(map(str.strip, address.split('|')))
Run Code Online (Sandbox Code Playgroud)
您也可以使用这样的项目将这些项目分配给字典zip():
contents = ["street", "city", "state", "zip"]
d = dict(zip(contents, items))
print(d)
Run Code Online (Sandbox Code Playgroud)
哪个会给你这个结构:
{'street': '1234 Broadway Ave', 'city': 'Los Angeles', 'state': 'CA', 'zip': '94530'}
Run Code Online (Sandbox Code Playgroud)
然后,您只需调用键即可访问此词典中的每个项目:
>>> d['street']
1234 Broadway Ave
>>> d['city']
Los Angeles
>>> d['state']
CA
>>> d['zip']
94530
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |