我難倒,任何幫助將是巨大的字符串(列表),這是遠高於我的工資等級:的Python:重新排序基於以前的列表順序
我有鑑定提供當鍵值串一個號碼。更復雜的是,它們被識別爲int或字符串。
目的是當一個新的字符串被處理時,它應該使用先前定義的原始鍵順序。此外,該值可以總是不同
這裏是從第一個字符串中獲得的信息的示例:
import re
int_dict = {}
string_dict = {}
int_number = 1
string_number = 1
firstlist = "key_a=apples key_z=4 key_e=pears key_b=bananas key_r=3"
re_result = re.findall(r'(\w+)=(\w+)', firstlist)
for i in re_result:
if i[1].isdigit():
int_dict[int_number] = i[0]
int_number += 1
else:
string_dict[string_number] = i[0]
string_number += 1
print int_dict
>>> {1: 'key_z', 2: 'key_r'}
print string_dict
>>> {1: 'key_a', 2: 'key_e', 3: 'key_b'}
第二行可能如下:
secondstring = "key_r=54 key_a=grapes key_b=nuts key_z=7 key_r=22"
我想字符串基於前一個字符串重新排序,在第二個字符串中還有一個新的鍵,它應該根據它的int或字符串是否取下一個增量:
secondstring_reordered = "key_a=grapes key_z=7 key_b=nuts key_r=22 key_z=7"
你想通過執行此操作來完成什麼? – roippi
一種模式數據庫,它構建了以前未知密鑰的知識,並且如果密鑰是通用的,它將始終放入數據庫中的正確列中,而不管它在字符串中的位置。 – dtalbot