Avi*_*ash 5 python algorithm dictionary class python-3.x
Python词典具有key独特性.但我正在努力编写(找到)支持以下内容的DS:
例1:
|------|-----------------|
| abc | matched in abcD |
|------|-----------------|
| match| matched in abcD |
|------|-----------------|
| abc | abc found again |
Run Code Online (Sandbox Code Playgroud)
如果下一个条目如下:
|-----|-----------------|
| abcd| matched in abcD | ----> should replace first entry because abc is substring of abcd.
Run Code Online (Sandbox Code Playgroud)
所以条目/表应该是这样的
|------|-----------------|
| abcd | matched in abcD |
|------|-----------------|
| match| matched in abcD |
|------|-----------------|
| abc | abc found again |
Run Code Online (Sandbox Code Playgroud)
有什么建议 ?
可能的功能定义
def substring_value_confirm(keys, values):
# implement as above
return required_mapping
substring_value_confirm(["abc","match","abc","abcd"],["matched in abcD", "matched in abcD", "abc found again", "matched in abcD"])
Run Code Online (Sandbox Code Playgroud)
对于任何新的条目,首先value应该匹配,如果value存在,那么key将被检查如果一个key是其他的子串,那么更长的一个应该得到该位置.
例2:
|------|----|
| a | 1 |
|------|----|
| b | 2 |
|------|----|
| ba | 3 |
Run Code Online (Sandbox Code Playgroud)
如果是新条目
|------|----|
| ab | 1 | ----> should replace first
|------|----|
| b | 2 | ----> should be discarded because already present
|------|----|
| ab | 3 | ----> will be new insertion
Run Code Online (Sandbox Code Playgroud)
所以结果条目/表应该是:
|------|----|
| ab | 1 |
|------|----|
| b | 2 |
|------|----|
| ba | 3 |
|------|----|
| ab | 3 |
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |