gpt4 book ai didi

python - 按最后 4 位数字升序排列字典的值

转载 作者:太空宇宙 更新时间:2023-11-04 09:45:33 24 4
gpt4 key购买 nike

我有一个包含 1000 个键的字典,其中每个键都有可变大小的文件名。

每个文件名都以 _digits.jpeg 结尾,如 v_SkateBoarding_g11_c03_0010.jpeg

这是我的字典示例:

 grouped_labels= {'v_SkateBoarding_g11_c03': ['v_SkateBoarding_g11_c03_0071.jpeg', 'v_SkateBoarding_g11_c03_0089.jpeg', 'v_SkateBoarding_g11_c03_0063.jpeg', 'v_SkateBoarding_g11_c03_0006.jpeg', 'v_SkateBoarding_g11_c03_0052.jpeg', 'v_SkateBoarding_g11_c03_0033.jpeg', 'v_SkateBoarding_g11_c03_0032.jpeg', 'v_SkateBoarding_g11_c03_0010.jpeg', 'v_SkateBoarding_g11_c03_0115.jpeg', 'v_SkateBoarding_g11_c03_0106.jpeg', 'v_SkateBoarding_g11_c03_0087.jpeg', 'v_SkateBoarding_g11_c03_0119.jpeg', 'v_SkateBoarding_g11_c03_0021.jpeg', 'v_SkateBoarding_g11_c03_0118.jpeg', 'v_SkateBoarding_g11_c03_0038.jpeg', 'v_SkateBoarding_g11_c03_0117.jpeg', 'v_SkateBoarding_g11_c03_0031.jpeg', 'v_SkateBoarding_g11_c03_0025.jpeg', 'v_SkateBoarding_g11_c03_0067.jpeg', 'v_SkateBoarding_g11_c03_0017.jpeg', 'v_SkateBoarding_g11_c03_0107.jpeg', 'v_SkateBoarding_g11_c03_0110.jpeg', 'v_SkateBoarding_g11_c03_0116.jpeg', 'v_SkateBoarding_g11_c03_0062.jpeg', 'v_SkateBoarding_g11_c03_0073.jpeg', 'v_SkateBoarding_g11_c03_0059.jpeg', 'v_SkateBoarding_g11_c03_0104.jpeg', 'v_SkateBoarding_g11_c03_0035.jpeg', 'v_SkateBoarding_g11_c03_0008.jpeg', 'v_SkateBoarding_g11_c03_0120.jpeg', 'v_SkateBoarding_g11_c03_0080.jpeg', 'v_SkateBoarding_g11_c03_0040.jpeg', 'v_SkateBoarding_g11_c03_0068.jpeg', 'v_SkateBoarding_g11_c03_0096.jpeg', 'v_SkateBoarding_g11_c03_0036.jpeg', 'v_SkateBoarding_g11_c03_0069.jpeg', 'v_SkateBoarding_g11_c03_0014.jpeg', 'v_SkateBoarding_g11_c03_0011.jpeg', 'v_SkateBoarding_g11_c03_0049.jpeg', 'v_SkateBoarding_g11_c03_0046.jpeg', 'v_SkateBoarding_g11_c03_0044.jpeg', 'v_SkateBoarding_g11_c03_0022.jpeg', 'v_SkateBoarding_g11_c03_0072.jpeg', 'v_SkateBoarding_g11_c03_0113.jpeg', 'v_SkateBoarding_g11_c03_0047.jpeg', 'v_SkateBoarding_g11_c03_0055.jpeg', 'v_SkateBoarding_g11_c03_0012.jpeg', 'v_SkateBoarding_g11_c03_0088.jpeg', 'v_SkateBoarding_g11_c03_0075.jpeg', 'v_SkateBoarding_g11_c03_0070.jpeg', 'v_SkateBoarding_g11_c03_0098.jpeg', 'v_SkateBoarding_g11_c03_0103.jpeg', 'v_SkateBoarding_g11_c03_0057.jpeg', 'v_SkateBoarding_g11_c03_0024.jpeg', 'v_SkateBoarding_g11_c03_0041.jpeg', 'v_SkateBoarding_g11_c03_0043.jpeg', 'v_SkateBoarding_g11_c03_0058.jpeg', 'v_SkateBoarding_g11_c03_0004.jpeg', 'v_SkateBoarding_g11_c03_0112.jpeg', 'v_SkateBoarding_g11_c03_0092.jpeg', 'v_SkateBoarding_g11_c03_0048.jpeg', 'v_SkateBoarding_g11_c03_0003.jpeg', 'v_SkateBoarding_g11_c03_0091.jpeg', 'v_SkateBoarding_g11_c03_0060.jpeg', 'v_SkateBoarding_g11_c03_0013.jpeg', 'v_SkateBoarding_g11_c03_0102.jpeg', 'v_SkateBoarding_g11_c03_0056.jpeg', 'v_SkateBoarding_g11_c03_0042.jpeg', 'v_SkateBoarding_g11_c03_0030.jpeg', 'v_SkateBoarding_g11_c03_0093.jpeg', 'v_SkateBoarding_g11_c03_0066.jpeg', 'v_SkateBoarding_g11_c03_0095.jpeg', 'v_SkateBoarding_g11_c03_0111.jpeg', 'v_SkateBoarding_g11_c03_0029.jpeg', 'v_SkateBoarding_g11_c03_0026.jpeg', 'v_SkateBoarding_g11_c03_0123.jpeg', 'v_SkateBoarding_g11_c03_0018.jpeg', 'v_SkateBoarding_g11_c03_0074.jpeg', 'v_SkateBoarding_g11_c03_0105.jpeg', 'v_SkateBoarding_g11_c03_0015.jpeg', 'v_SkateBoarding_g11_c03_0083.jpeg', 'v_SkateBoarding_g11_c03_0045.jpeg', 'v_SkateBoarding_g11_c03_0085.jpeg', 'v_SkateBoarding_g11_c03_0121.jpeg', 'v_SkateBoarding_g11_c03_0084.jpeg', 'v_SkateBoarding_g11_c03_0020.jpeg', 'v_SkateBoarding_g11_c03_0064.jpeg', 'v_SkateBoarding_g11_c03_0007.jpeg', 'v_SkateBoarding_g11_c03_0122.jpeg', 'v_SkateBoarding_g11_c03_0108.jpeg', 'v_SkateBoarding_g11_c03_0101.jpeg', 'v_SkateBoarding_g11_c03_0086.jpeg', 'v_SkateBoarding_g11_c03_0076.jpeg', 'v_SkateBoarding_g11_c03_0099.jpeg', 'v_SkateBoarding_g11_c03_0079.jpeg', 'v_SkateBoarding_g11_c03_0028.jpeg', 'v_SkateBoarding_g11_c03_0082.jpeg', 'v_SkateBoarding_g11_c03_0109.jpeg', 'v_SkateBoarding_g11_c03_0054.jpeg', 'v_SkateBoarding_g11_c03_0061.jpeg', 'v_SkateBoarding_g11_c03_0090.jpeg', 'v_SkateBoarding_g11_c03_0114.jpeg', 'v_SkateBoarding_g11_c03_0050.jpeg', 'v_SkateBoarding_g11_c03_0001.jpeg', 'v_SkateBoarding_g11_c03_0002.jpeg', 'v_SkateBoarding_g11_c03_0078.jpeg', 'v_SkateBoarding_g11_c03_0039.jpeg', 'v_SkateBoarding_g11_c03_0065.jpeg', 'v_SkateBoarding_g11_c03_0027.jpeg', 'v_SkateBoarding_g11_c03_0051.jpeg', 'v_SkateBoarding_g11_c03_0019.jpeg', 'v_SkateBoarding_g11_c03_0009.jpeg', 'v_SkateBoarding_g11_c03_0037.jpeg', 'v_SkateBoarding_g11_c03_0097.jpeg', 'v_SkateBoarding_g11_c03_0077.jpeg', 'v_SkateBoarding_g11_c03_0100.jpeg', 'v_SkateBoarding_g11_c03_0124.jpeg', 'v_SkateBoarding_g11_c03_0053.jpeg', 'v_SkateBoarding_g11_c03_0023.jpeg', 'v_SkateBoarding_g11_c03_0094.jpeg', 'v_SkateBoarding_g11_c03_0081.jpeg', 'v_SkateBoarding_g11_c03_0034.jpeg', 'v_SkateBoarding_g11_c03_0016.jpeg', 'v_SkateBoarding_g11_c03_0005.jpeg'], 'v_CricketShot_g09_c07': ['v_CricketShot_g09_c07_0052.jpeg', 'v_CricketShot_g09_c07_0024.jpeg', 'v_CricketShot_g09_c07_0004.jpeg', 'v_CricketShot_g09_c07_0012.jpeg', 'v_CricketShot_g09_c07_0014.jpeg', 'v_CricketShot_g09_c07_0019.jpeg', 'v_CricketShot_g09_c07_0002.jpeg', 'v_CricketShot_g09_c07_0037.jpeg', 'v_CricketShot_g09_c07_0053.jpeg', 'v_CricketShot_g09_c07_0031.jpeg', 'v_CricketShot_g09_c07_0032.jpeg', 'v_CricketShot_g09_c07_0008.jpeg', 'v_CricketShot_g09_c07_0039.jpeg', 'v_CricketShot_g09_c07_0018.jpeg', 'v_CricketShot_g09_c07_0007.jpeg', 'v_CricketShot_g09_c07_0056.jpeg', 'v_CricketShot_g09_c07_0038.jpeg', 'v_CricketShot_g09_c07_0029.jpeg', 'v_CricketShot_g09_c07_0010.jpeg', 'v_CricketShot_g09_c07_0058.jpeg', 'v_CricketShot_g09_c07_0020.jpeg', 'v_CricketShot_g09_c07_0011.jpeg', 'v_CricketShot_g09_c07_0009.jpeg', 'v_CricketShot_g09_c07_0022.jpeg', 'v_CricketShot_g09_c07_0013.jpeg', 'v_CricketShot_g09_c07_0045.jpeg', 'v_CricketShot_g09_c07_0023.jpeg', 'v_CricketShot_g09_c07_0048.jpeg', 'v_CricketShot_g09_c07_0054.jpeg', 'v_CricketShot_g09_c07_0015.jpeg', 'v_CricketShot_g09_c07_0041.jpeg', 'v_CricketShot_g09_c07_0036.jpeg', 'v_CricketShot_g09_c07_0001.jpeg', 'v_CricketShot_g09_c07_0040.jpeg', 'v_CricketShot_g09_c07_0047.jpeg', 'v_CricketShot_g09_c07_0030.jpeg', 'v_CricketShot_g09_c07_0046.jpeg', 'v_CricketShot_g09_c07_0049.jpeg', 'v_CricketShot_g09_c07_0051.jpeg', 'v_CricketShot_g09_c07_0044.jpeg', 'v_CricketShot_g09_c07_0005.jpeg', 'v_CricketShot_g09_c07_0043.jpeg', 'v_CricketShot_g09_c07_0017.jpeg', 'v_CricketShot_g09_c07_0027.jpeg', 'v_CricketShot_g09_c07_0050.jpeg', 'v_CricketShot_g09_c07_0034.jpeg', 'v_CricketShot_g09_c07_0021.jpeg', 'v_CricketShot_g09_c07_0025.jpeg', 'v_CricketShot_g09_c07_0026.jpeg', 'v_CricketShot_g09_c07_0028.jpeg', 'v_CricketShot_g09_c07_0003.jpeg', 'v_CricketShot_g09_c07_0042.jpeg', 'v_CricketShot_g09_c07_0016.jpeg', 'v_CricketShot_g09_c07_0006.jpeg', 'v_CricketShot_g09_c07_0060.jpeg', 'v_CricketShot_g09_c07_0035.jpeg', 'v_CricketShot_g09_c07_0057.jpeg', 'v_CricketShot_g09_c07_0033.jpeg', 'v_CricketShot_g09_c07_0055.jpeg', 'v_CricketShot_g09_c07_0059.jpeg']}

我想做什么?

给定一个键及其值:

'v_CricketShot_g09_c07': ['v_CricketShot_g09_c07_0052.jpeg', 'v_CricketShot_g09_c07_0024.jpeg', 'v_CricketShot_g09_c07_0004.jpeg', 'v_CricketShot_g09_c07_0012.jpeg', 'v_CricketShot_g09_c07_0014.jpeg', 'v_CricketShot_g09_c07_0019.jpeg', 'v_CricketShot_g09_c07_0002.jpeg']

我想根据最后 4 位数字对值重新排序。从最小值到最大值

预期的输出是:

'v_CricketShot_g09_c07': ['v_CricketShot_g09_c07_0002.jpeg', 'v_CricketShot_g09_c07_0004.jpeg', 'v_CricketShot_g09_c07_0012.jpeg', 'v_CricketShot_g09_c07_0014.jpeg', 'v_CricketShot_g09_c07_0019.jpeg', 'v_CricketShot_g09_c07_0024.jpeg', 'v_CricketShot_g09_c07_0052.jpeg']

我尝试了什么?

grouped_labels={}
for image_name in files:
key = image_name.rsplit('_', 1)[0]
grouped_labels.setdefault(key, []).append(image_name)

for k, names in grouped_labels.items():
sorted_pairs = sorted(zip(names, grouped_labels[k]), key=key_func)

其中 key_func 定义如下:

def key_func(pair):
return int(pair[0].split('_')[-1].split('.')[0])

我得到了什么?我的错误输出

grouped_labels 上应用 sorted_pa​​irs = sorted(zip(names, grouped_labels[k]), key=key_func)

我得到以下错误输出:

sorted_pairs
[('v_CricketShot_g09_c07_0001.jpeg', 'v_CricketShot_g09_c07_0001.jpeg'), ('v_CricketShot_g09_c07_0002.jpeg', 'v_CricketShot_g09_c07_0002.jpeg'), ('v_CricketShot_g09_c07_0003.jpeg', 'v_CricketShot_g09_c07_0003.jpeg'), ('v_CricketShot_g09_c07_0004.jpeg', 'v_CricketShot_g09_c07_0004.jpeg'), ('v_CricketShot_g09_c07_0005.jpeg', 'v_CricketShot_g09_c07_0005.jpeg'), ('v_CricketShot_g09_c07_0006.jpeg', 'v_CricketShot_g09_c07_0006.jpeg'), ('v_CricketShot_g09_c07_0007.jpeg', 'v_CricketShot_g09_c07_0007.jpeg'), ('v_CricketShot_g09_c07_0008.jpeg', 'v_CricketShot_g09_c07_0008.jpeg'), ('v_CricketShot_g09_c07_0009.jpeg', 'v_CricketShot_g09_c07_0009.jpeg'), ('v_CricketShot_g09_c07_0010.jpeg', 'v_CricketShot_g09_c07_0010.jpeg'), ('v_CricketShot_g09_c07_0011.jpeg', 'v_CricketShot_g09_c07_0011.jpeg'), ('v_CricketShot_g09_c07_0012.jpeg', 'v_CricketShot_g09_c07_0012.jpeg'), ('v_CricketShot_g09_c07_0013.jpeg', 'v_CricketShot_g09_c07_0013.jpeg'), ('v_CricketShot_g09_c07_0014.jpeg', 'v_CricketShot_g09_c07_0014.jpeg'), ('v_CricketShot_g09_c07_0015.jpeg', 'v_CricketShot_g09_c07_0015.jpeg'), ('v_CricketShot_g09_c07_0016.jpeg', 'v_CricketShot_g09_c07_0016.jpeg'), ('v_CricketShot_g09_c07_0017.jpeg', 'v_CricketShot_g09_c07_0017.jpeg'), ('v_CricketShot_g09_c07_0018.jpeg', 'v_CricketShot_g09_c07_0018.jpeg'), ('v_CricketShot_g09_c07_0019.jpeg', 'v_CricketShot_g09_c07_0019.jpeg'), ('v_CricketShot_g09_c07_0020.jpeg', 'v_CricketShot_g09_c07_0020.jpeg'), ('v_CricketShot_g09_c07_0021.jpeg', 'v_CricketShot_g09_c07_0021.jpeg'), ('v_CricketShot_g09_c07_0022.jpeg', 'v_CricketShot_g09_c07_0022.jpeg'), ('v_CricketShot_g09_c07_0023.jpeg', 'v_CricketShot_g09_c07_0023.jpeg'), ('v_CricketShot_g09_c07_0024.jpeg', 'v_CricketShot_g09_c07_0024.jpeg'), ('v_CricketShot_g09_c07_0025.jpeg', 'v_CricketShot_g09_c07_0025.jpeg'), ('v_CricketShot_g09_c07_0026.jpeg', 'v_CricketShot_g09_c07_0026.jpeg'), ('v_CricketShot_g09_c07_0027.jpeg', 'v_CricketShot_g09_c07_0027.jpeg'), ('v_CricketShot_g09_c07_0028.jpeg', 'v_CricketShot_g09_c07_0028.jpeg'), ('v_CricketShot_g09_c07_0029.jpeg', 'v_CricketShot_g09_c07_0029.jpeg'), ('v_CricketShot_g09_c07_0030.jpeg', 'v_CricketShot_g09_c07_0030.jpeg'), ('v_CricketShot_g09_c07_0031.jpeg', 'v_CricketShot_g09_c07_0031.jpeg'), ('v_CricketShot_g09_c07_0032.jpeg', 'v_CricketShot_g09_c07_0032.jpeg'), ('v_CricketShot_g09_c07_0033.jpeg', 'v_CricketShot_g09_c07_0033.jpeg'), ('v_CricketShot_g09_c07_0034.jpeg', 'v_CricketShot_g09_c07_0034.jpeg'), ('v_CricketShot_g09_c07_0035.jpeg', 'v_CricketShot_g09_c07_0035.jpeg'), ('v_CricketShot_g09_c07_0036.jpeg', 'v_CricketShot_g09_c07_0036.jpeg'), ('v_CricketShot_g09_c07_0037.jpeg', 'v_CricketShot_g09_c07_0037.jpeg'), ('v_CricketShot_g09_c07_0038.jpeg', 'v_CricketShot_g09_c07_0038.jpeg'), ('v_CricketShot_g09_c07_0039.jpeg', 'v_CricketShot_g09_c07_0039.jpeg'), ('v_CricketShot_g09_c07_0040.jpeg', 'v_CricketShot_g09_c07_0040.jpeg'), ('v_CricketShot_g09_c07_0041.jpeg', 'v_CricketShot_g09_c07_0041.jpeg'), ('v_CricketShot_g09_c07_0042.jpeg', 'v_CricketShot_g09_c07_0042.jpeg'), ('v_CricketShot_g09_c07_0043.jpeg', 'v_CricketShot_g09_c07_0043.jpeg'), ('v_CricketShot_g09_c07_0044.jpeg', 'v_CricketShot_g09_c07_0044.jpeg'), ('v_CricketShot_g09_c07_0045.jpeg', 'v_CricketShot_g09_c07_0045.jpeg'), ('v_CricketShot_g09_c07_0046.jpeg', 'v_CricketShot_g09_c07_0046.jpeg'), ('v_CricketShot_g09_c07_0047.jpeg', 'v_CricketShot_g09_c07_0047.jpeg'), ('v_CricketShot_g09_c07_0048.jpeg', 'v_CricketShot_g09_c07_0048.jpeg'), ('v_CricketShot_g09_c07_0049.jpeg', 'v_CricketShot_g09_c07_0049.jpeg'), ('v_CricketShot_g09_c07_0050.jpeg', 'v_CricketShot_g09_c07_0050.jpeg'), ('v_CricketShot_g09_c07_0051.jpeg', 'v_CricketShot_g09_c07_0051.jpeg'), ('v_CricketShot_g09_c07_0052.jpeg', 'v_CricketShot_g09_c07_0052.jpeg'), ('v_CricketShot_g09_c07_0053.jpeg', 'v_CricketShot_g09_c07_0053.jpeg'), ('v_CricketShot_g09_c07_0054.jpeg', 'v_CricketShot_g09_c07_0054.jpeg'), ('v_CricketShot_g09_c07_0055.jpeg', 'v_CricketShot_g09_c07_0055.jpeg'), ('v_CricketShot_g09_c07_0056.jpeg', 'v_CricketShot_g09_c07_0056.jpeg'), ('v_CricketShot_g09_c07_0057.jpeg', 'v_CricketShot_g09_c07_0057.jpeg'), ('v_CricketShot_g09_c07_0058.jpeg', 'v_CricketShot_g09_c07_0058.jpeg'), ('v_CricketShot_g09_c07_0059.jpeg', 'v_CricketShot_g09_c07_0059.jpeg'), ('v_CricketShot_g09_c07_0060.jpeg', 'v_CricketShot_g09_c07_0060.jpeg')]

最佳答案

如果您有包含数据的 grouped_labels 字典,您可以使用 sorted() 方法重新排列字典键的值,如下所示:

for k,v in grouped_labels.items():
grouped_labels[k] = sorted(v, key = lambda x: x.split('.')[0][-4:])

这将对原始字典中的值进行排序。

关于python - 按最后 4 位数字升序排列字典的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49982970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com