小编use*_*011的帖子

按值排序元组列表,然后按字母顺序排序

有点蟒蛇新手,但我得到了以下的元组列表.我需要按值对其进行排序,如果值相同,则按字母顺序求解关系.这是一个示例:

#original
list_of_medals = [('Sweden', 24), ('Germany', 16), ('Russia', 10), ('Ireland', 10), ('Spain', 9), ('Albania', 8), ('Lithuania', 7), ('Iceland', 6), ('Malta', 5), ('Italy', 5), ('Serbia', 4), ('Estonia', 4), ('Turkey', 4), ('Moldova', 2), ('Azerbaijan', 2)]
#                                                              \____/                                                                                                                      \_____/                                         \______/
#after sorting                                                 /    \                                                                                                                      /     \                                         /      \
sorted_medals  = [('Sweden', 24), ('Germany', 16), ('Ireland', 10), ('Russia', 10), ('Spain', 9), ('Albania', 8), ('Lithuania', 7), ('Iceland', 6), ('Malta', 5), ('Italy', 5), ('Estonia', 4), ('Serbia', 4), ('Turkey', 4), ('Azerbaijan', 2), ('Moldova', 2)]
Run Code Online (Sandbox Code Playgroud)

是否可能使用该operator …

python sorting import tuples list

5
推荐指数
2
解决办法
8298
查看次数

记住字典的值

我是Python的新手,但有可能做到以下几点吗?我想创建一个字典test_tube,它显示了它中的液体和它的数量.使用add_liquid函数,我想在测试管中添加一种或多种新液体或更多液体,而不使用默认值.

Def add_liquid(test_tube,liquid,milliliters=0):
     test_tube[liquid] = milliters
     return test_tube 
     #update of previous test tube and memorize new test tube           

>>>add_liquid(test_tube,'water',10) 
{'water':10}
>>>more_water=add_liquid(test_tube,'water',5)
>>>more_water
{'water':15}
>>>add_liquid(test_tube,'ethanol',1)
{'ethanol':1, 'water':15}
Run Code Online (Sandbox Code Playgroud)

Python必须以某种方式记住test_tube中先前的液体量.任何意见,将不胜感激!

python dictionary function add updates

0
推荐指数
1
解决办法
184
查看次数

在字典中按字母顺序排序列表

我有以下字典:

#original
random_dict={'list1': ['b', 'a', 'c'], 'list2': ['f', 'a', 'e'], 'list3': ['c', 'b', 'a']}
Run Code Online (Sandbox Code Playgroud)

你如何按字母顺序对列表进行排序random_dict以获得:

#after sorting
sorted_dict={'list1': ['a', 'b', 'c'], 'list2': ['a', 'e', 'f'], 'list3': ['a', 'b', 'c']}
Run Code Online (Sandbox Code Playgroud)

python sorting dictionary list

0
推荐指数
1
解决办法
284
查看次数

从python中的列表中删除''

我有以下文字:sherlock.txt 我想创建一个列表中的每个单词(标点符号是单词的一部分,因此不是分隔元素,例如:'很高兴.').我做的是跟随:

>>> def wordlist(text):
...    input= open(text,'r')
...    data= input.read()
...    input.close()
...    data=data.replace('\n',' ')
...    data=data.replace(chr(13),' ')
...    data=data.replace(chr(9),' ')
...    data=data.split(' ')
...    while '' in data:
...        data.remove('')
...    return data
Run Code Online (Sandbox Code Playgroud)

问题是它返回一个单词列表,但它需要大约.这样做7秒.有没有更快的方法来做到这一点?我知道while循环是这里的问题.

python text list

-1
推荐指数
1
解决办法
100
查看次数

标签 统计

python ×4

list ×3

dictionary ×2

sorting ×2

add ×1

function ×1

import ×1

text ×1

tuples ×1

updates ×1