English 中文(简体)
我怎么能够把这种特别的描述变成一个独裁者?
原标题:How can I convert this particular string to a dictionary?

我获得了APICA的回报,并得以与所需的第一部分保持一致。 然而,它不是独裁者,而是扼杀。 我怎么能够把这种扼杀变成一个字典,以便我能够接触我想要的关键吗?

roster = """*Person 1: Bob
Person 2: Alice
Person 3: Eve
Person 4: Mallory
Person 5: Trent*
"""

迄今为止,我尝试了一种无uck的变式方法,即json 载荷和一些清单缩略语和分法。 任何帮助都是巨大的。

我希望把我的名册变量作为字典,这样它就象这样:

roster_dict = { *Person 1*  :  *Bob* ,  *Person 2*  :  *Alice* ,  *Person 3*  :  *Eve* ,  *Person 4*  :  *Mallory* ,  *Person 5*  :  *Trent* }

这是我发现的另一个问题,但在我修改后,我没有工作。

str = " *Jan = January; Feb = February; Mar = March*"

dictionary = dict(subString.split("=") for subString in str.split(";"))
问题回答

如果你想在一行(尽管你可能 t)中这样做的话,你可以这样做。

roster_dict = dict([["*"+item.strip()+"*" for item in person.split(":")] for person in roster.replace("*", "").splitlines()])

为了看看这些伤口,我们可以逐条加以建构:

>>> roster
 *Person 1: Bob
Person 2: Alice
Person 3: Eve
Person 4: Mallory
Person 5: Trent*
 
>>> roster.replace("*", "")
 Person 1: Bob
Person 2: Alice
Person 3: Eve
Person 4: Mallory
Person 5: Trent
 
>>> roster.replace("*", "").splitlines()
[ Person 1: Bob ,  Person 2: Alice ,  Person 3: Eve ,  Person 4: Mallory ,  Person 5: Trent ]
>>> [person.split(":") for person in roster.replace("*", "").splitlines()]
[[ Person 1 ,   Bob ], [ Person 2 ,   Alice ], [ Person 3 ,   Eve ], [ Person 4 ,   Mallory ], [ Person 5 ,   Trent ]]
>>> dict([["*"+item.strip()+"*" for item in person.split(":")] for person in roster.replace("*", "").splitlines()])
{ *Person 1* :  *Bob* ,  *Person 2* :  *Alice* ,  *Person 3* :  *Eve* ,  *Person 4* :  *Mallory* ,  *Person 5* :  *Trent* }




相关问题
Simple JAVA: Password Verifier problem

I have a simple problem that says: A password for xyz corporation is supposed to be 6 characters long and made up of a combination of letters and digits. Write a program fragment to read in a string ...

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

String initialization with pair of iterators

I m trying to initialize string with iterators and something like this works: ifstream fin("tmp.txt"); istream_iterator<char> in_i(fin), eos; //here eos is 1 over the end string s(in_i, ...

break a string in parts

I have a string "pc1|pc2|pc3|" I want to get each word on different line like: pc1 pc2 pc3 I need to do this in C#... any suggestions??

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签