Python:删除键字符串外部的撇号

2024-09-28 03:15:05 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有其他方法可以去掉键串外的撇号?例如,'value'只能是字典中的值。我尝试过replace()函数,但什么也没有发生。在

resultSet = [{'name':'Taylor Swift','key':'hui7'}, {'name':'Lady Gaga','key':'bu5u'}]

emplist = []

for emp in resultSet:
    value = "value"
    empdict = {
    value.replace("'",""): emp['name'],
'uid'.replace("'", ""): 'key:' + emp['key']}
    emplist.append(empdict)

print(emplist)
>> [{'value': 'Taylor Swift', 'uid': 'key:hui7'}, {'value': 'Lady Gaga', 'uid': 'key:bu5u'}]

预期结果

^{pr2}$

在我修改雅罗斯拉夫的解决方案后,我得到了预期的结果。在

resultSet = [{'name':'Taylor Swift','key_fk':'hui7'},{'name':'Lady Gaga','key_fk':'bu5u'}]

loop = ', '.join("{value: '{}', uid: 'key: {}'}".format(item['name'], item['key_fk']) for item in resultSet)

result = '[' + loop + ']'
print(result)
>> [{value: 'Taylor Swift', uid: 'key: hui7'}, {value: 'Lady Gaga', uid: 'key: bu5u'}]

Tags: keynameuidvaluereplaceswiftfktaylor
3条回答

不,因为'表示它是String,所以没有任何方法。所以它实际上并不存在。例如,如果有'value',那么它的第一个字符是v,最后一个字符是eReplace()不起作用,因为它只替换字符串中存在的内容,但是由于'不在字符串中,因此没有什么可替换的。在

根据Jom对问题的评论,我假设以下伪代码片段可以做到:

resultSet = [
    {
        'name': 'Taylor Swift',
        'key': 'hui7'
    }, {
        'name': 'Lady Gaga',
        'key': 'bu5u'
    }
]

result = []

for item in resultSet:
    result.append(
        "{%s}" % ', '.join(
            ["{0}: '{1}'".format(key, value) for key, value in item.items()]
        )
    )

print(result)

更新:

^{pr2}$

请注意,此溶液是不是Python。 对于purposes,您应该使用一些模板语言(例如:jinja2)

你为什么要那样?在

用字典比较好。在

如果你只想知道名字:

[i['value'] for i in emplist]

它将返回:

^{pr2}$

此外,如果未定义变量,则会引发ValueError。在

如果你能说出你到底想在这里达到什么目的,为什么要这样做,也许会有所帮助?在

相关问题 更多 >

    热门问题