python - 如何使用两个不同的 .format() 并使用一个 for 循环
问题描述
所以我一直试图弄清楚如何使用一个 for 循环打印出两种不同的格式。我想在解释我的问题之前提供代码
fullList = [
{
'url': 'www.randomsite.com/251293',
'numbers': '7.5'
},
{
'url': 'www.randomsite.com/251294',
'numbers': '8'
},
{
'url': 'www.randomsite.com/251295',
'numbers': '8.5'
},
{
'url': 'www.randomsite.com/251296',
'numbers': '9'
},
{
'url': 'www.randomsite.com/251297',
'numbers': '9.5'
}
]
#fullList = [
# {
# 'numbers': '7.5'
# },
# {
# 'numbers': '8'
# },
# {
# 'numbers': '8.5'
# },
# {
# 'numbers': '9'
# },
# {
# 'numbers': '9.5'
# }
#]
try:
numbersList = []
for numbers in fullList:
numbersList.append('{}{}'.format('{}'.format(numbers.get('url') if numbers.get('url') else ''), numbers.get('numbers')))
print(numbersList)
except Exception:
pass
我正在寻找的结果是:
如果 url 在列表中:print('<url|numbers>')
表示格式为<url|numbers>
如果列表中没有 url:print(numbers)
并且这里的打印应该只给出数字 -我有时只想要数字,这意味着在列表中我删除了所有 URL,所以它只会保留数字。
我的问题是我不知道如何将这两者组合成一种格式。到目前为止,我只能使用我提供的代码打印出数字。
解决方案
Using list comprehension
Ex.
fullList = [
{'url': 'www.randomsite.com/251293','numbers': '7.5'},
{'url': 'www.randomsite.com/251294','numbers': '8'},
{'url': 'www.randomsite.com/251295','numbers': '8.5'},
{'url': 'www.randomsite.com/251296','numbers': '9'},
{'url': 'www.randomsite.com/251297','numbers': '9.5'}
]
list1 = [ "{0}|{1}".format(x['url'],x['numbers']) for x in fullList ]
print(list1)
O/P:
['www.randomsite.com/251293|7.5', 'www.randomsite.com/251294|8', 'www.randomsite.com/251295|8.5', 'www.randomsite.com/251296|9', 'www.randomsite.com/251297|9.5']
OR
for the updated question, if the dictionary does not contain url
fullList = [
{'url': 'www.randomsite.com/251296','numbers': '9'},
{'numbers': '9.5'}
]
list1 = [ "{0}{1}".format((x.get('url')+'|' if 'url' in x else ''),x.get('numbers','')) for x in fullList ]
print(list1)
O/P:
['www.randomsite.com/251296|9', '9.5']
推荐阅读
- java - 测试帐号中是否仅存在一个连字符
- java - 在 O(1) 中检查 LinkedHashMap 中 2 个不同键的顺序
- asp.net-core-mvc - 使用 OpenIDConnect 时如何注销 ClaimsIdentity 用户
- javascript - eslint 在简单的 React reducer 中抱怨传播运算符
- css - 如何使用 Ant Design 更改 createFromIconfontCN 制作的 Icon 的颜色?
- jquery - 如何用另一个 HTML 字符串替换一个 HTML 字符串?
- java - 接口引用类型
- c# - Wpf 和 Xaml 中的命令
- html - Angular Navbar Menu - 将菜单项与子菜单对齐
- r - 情节比例变化ggplot