我有一个格式的python字符串
mystr = "hi.this(is?my*string+"
Run Code Online (Sandbox Code Playgroud)
在这里,我需要获得被特殊字符或非字母字符包围的'is'的位置(即本例中的第二个'是').但是,使用
mystr.find('is')
Run Code Online (Sandbox Code Playgroud)
如果'is'与'this'相关联,则返回该位置,这是不希望的.如何找到字符串中非字母字符包围的子字符串的位置?使用python 2.7
我有一个格式的python字符串:
str = "name: srek age :24 description: blah blah"
Run Code Online (Sandbox Code Playgroud)
有没有办法将它转换为看起来像的字典
{'name': 'srek', 'age': '24', 'description': 'blah blah'}
Run Code Online (Sandbox Code Playgroud)
其中每个条目都是从字符串中取出的(键,值)对.我尝试将字符串拆分为列表
str.split()
Run Code Online (Sandbox Code Playgroud)
然后手动删除:,检查每个标记名称,添加到字典.这种方法的缺点是:这种方法很讨厌,我必须手动删除:每一对,如果字符串中有多个单词'value'(例如,blah blahfor description),则每个单词将成为列表中的单独条目,即不可取.是否有任何Pythonic方式获取字典(使用python 2.7)?
我通过导入集合创建了一个python Ordered Dictionary并将其存储在名为'filename.txt'的文件中.文件内容看起来像
OrderedDict([(7, 0), (6, 1), (5, 2), (4, 3)])
Run Code Online (Sandbox Code Playgroud)
我需要从另一个程序中使用这个OrderedDict.我这样做
myfile = open('filename.txt','r')
mydict = myfile.read()
Run Code Online (Sandbox Code Playgroud)
我需要获得类型的'mydict'
<class 'collections.OrderedDict'>
Run Code Online (Sandbox Code Playgroud)
但在这里,它出现了'str'类型.
有没有办法在python中将字符串类型转换为OrderedDict类型?使用python 2.7
我有python普通字典.在此,不保留插入顺序.我需要按插入顺序保留元素.我知道OrderedDict可以做这个工作.但是,我的问题是我需要从已经存在的普通字典中获取有序字典.这个字典无法更改.以下是我的普通词典:
d = {'tag': {'a': 1, 'c': {'k': 8}, 'b': 7, 'n': 6}}
Run Code Online (Sandbox Code Playgroud)
有没有办法在python中保持已经存在的字典中的元素顺序?任何帮助表示赞赏.使用python 2.7