Я использую Dictionary
как способ преобразования ключей в значения для дальнейшего использования (здесь с Pandas
).Приоритет при замене строк
abc = {"ABC":"ALPHABET"}
a = {"A":"APPLE"}
words = abc.copy()
words.update(a)
for w in words:
df.loc[df["company"].str.contains(w), "company"] = words[w]
Давайте использовать пример строки: "Company ABC"
в колонке "company"
.
Моя проблема заключается в том, что, когда строка должна давать соответствие "ABC":"ALPHABET"
, dict дает приоритет "A":"APPLE"
. Это похоже на случай, независимо от порядка в dict
.
Могу ли я сделать программу разграничивать, когда применять "A:APPLE"
, например, сделав regex
правило, "A"
должен быть в конце строки, как: "Company A"
?
«диктат дает преимущество», это не вещь, что вы имеете в виду? «порядок в« dict »- это тоже не вещь, словари не имеют порядка. Вы можете сортировать ключи с помощью 'sorted (words.keys())'. –
@machineyearning AFAIK, в словарях есть случайный порядок, но они не «упорядочены». То, что я имею в виду, отдавая предпочтение, - это то, что я написал на простом английском. – Winterflags
Если вам нужен только порядок, в python2.7 вы можете использовать OrderedDict из библиотеки коллекций (https://docs.python.org/2/library/collections.html#collections.OrderedDict) – tmrlvi