gpt4 book ai didi

python - 对字符串列表进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:56 26 4
gpt4 key购买 nike

我有一个像这样的字符串列表:

l = ['car58=C:/Files/SB.car58- 094.38.JPG',
'bike53=C:/Files/SB.bike53- 006.33.JPG',
'car46=C:/Files/SB.car46- 88.22.JPG',
'bike12=C:/Files/SB.bike12- 006.33.JPG',
'acc9=C:/Files/SB.acc9- 006.33.JPG']

我尝试使用每个字符串的开头(位置 0)到“=”字符对列表进行排序,忽略其后的所有字符,因此结果是:

s = ['acc9=C:/Files/SB.acc9- 116.95.JPG',
'bike12=C:/Files/SB.bike12- 006.33.JPG',
'bike53=C:/Files/SB.bike53- 002.12.JPG',
'car46=C:/Files/SB.car46- 88.22.JPG',
'car58=C:/Files/SB.car58- 094.38.JPG']

编辑:Ajax1234提供的答案解决了我的问题:

s = sorted(l, key=lambda x:x[:x.index('=')])

最佳答案

您可以使用.index():

s = [['car58=C:/Files/SB.car58- 094.38.JPG'],
['bike53=C:/Files/SB.bike53- 006.33.JPG'],
['car46=C:/Files/SB.car46- 88.22.JPG'],
['bike12=C:/Files/SB.bike12- 006.33.JPG'],
['acc9=C:/Files/SB.acc9- 006.33.JPG']]
new_s = sorted(s, key=lambda x:x[0][:x[0].index('=')])

输出:

[['acc9=C:/Files/SB.acc9- 006.33.JPG'], ['bike12=C:/Files/SB.bike12- 006.33.JPG'], ['bike53=C:/Files/SB.bike53- 006.33.JPG'], ['car46=C:/Files/SB.car46- 88.22.JPG'], ['car58=C:/Files/SB.car58- 094.38.JPG']]

编辑:list.sort() 也将产生所需的输出:

s.sort()
print(s)

输出:

[['acc9=C:/Files/SB.acc9- 006.33.JPG'], ['bike12=C:/Files/SB.bike12- 006.33.JPG'], ['bike53=C:/Files/SB.bike53- 006.33.JPG'], ['car46=C:/Files/SB.car46- 88.22.JPG'], ['car58=C:/Files/SB.car58- 094.38.JPG']]

关于您最近的评论,这应该有效:

s = ['car58=C:/Files/SB.car58- 094.38.JPG', 'bike53=C:/Files/SB.bike53- 006.33.JPG', 'car46=C:/Files/SB.car46- 88.22.JPG', 'bike12=C:/Files/SB.bike12- 006.33.JPG', 'acc9=C:/Files/SB.acc9- 006.33.JPG']
new_s = sorted(s, key=lambda x:x[:x.index('=')])

输出:

['acc9=C:/Files/SB.acc9- 006.33.JPG', 'bike12=C:/Files/SB.bike12- 006.33.JPG', 'bike53=C:/Files/SB.bike53- 006.33.JPG', 'car46=C:/Files/SB.car46- 88.22.JPG', 'car58=C:/Files/SB.car58- 094.38.JPG']

关于python - 对字符串列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47562434/

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