我有一个列表,例如pa_l = [[ABU, XXXXX, 0],[AZE, CCCCC,0]]
。此pa_l
包含243个列表。 iso_pa
是仅包含国家/地区代码的列表,例如:
ABU和AZE(以及其他人)
我需要创建一个字典all_countries = {}
,其中每个国家/地区代码都有自己的名称。为此,我创建了以下代码:
for i in iso_pa:
if i not in all_countries.keys():
all_countries[i] = pa_l[i][1]
但这不起作用。如果有人能帮助我,我会很高兴。
答案 0 :(得分:0)
for i in range (len (iso_pa)):
if iso_pa [i] not in all_countries.keys():
all_countries [iso_pa [i]] = pa_l [i][1]
答案 1 :(得分:0)
如您所述,您要准备一个字典,其中country_code映射到国家/地区名称。在我们的代码中有一个小的修复:
select pid, pg_blocking_pids(pid) as blocked_by, query as blocked_query
from pg_stat_activity
where pg_blocking_pids(pid)::text != '{}';
答案 2 :(得分:0)
列表列表对于查找CREATE TABLE resolver_names (
username text PRIMARY KEY,
entityid uuid
) WITH bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
AND comment = ''
AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';
列表中的代码来说并不是一个很好的结构。因此,首先将较长的列表转换为字典,然后从结果中选择您需要的名称:
iso_pa
答案 3 :(得分:0)
您可以使用itertools.groupby
格式pa_l
,以便更轻松地访问该国家/地区的第一个匹配项及其代码:
import itertools
pa_l = [['ABU', 'XXXXX', 0],['AZE', 'CCCCC',0]]
new_data = {a:list(b)[0][-1] for a, b in itertools.groupby(sorted(pa_l, key=lambda x:x[0]), key=lambda x:x[0])}
输出:
{'ABU': 0, 'AZE': 0}