[英]How to sort the tuple string part in a list based on its float value in python?
[英]How to sort python list based on its element that is a tuple at index zero [0]
我这里有一个 python 列表
my_list = [("ww","hello"),("www","world"),("w","sardines")]
所以我想根据元组元素的第一个索引的长度值对这个列表进行排序,正如你所看到的,有字母"w"
。 更具体地说,输出应该是这样的
my_list = [("w","sardines"),("ww","hello"),("www","world")]
我为此搜索了许多排序技术,但我发现那些只有字符串元素。 我正在考虑为此使用排序算法,例如冒泡排序、合并排序、插入或任何其他排序算法......使用排序算法。 我觉得有一种更简单的方法,比如调用.sort()
函数。
非常感谢你的帮助! 很高兴在这个伟大的社区在这里提问! 谢谢!
尝试这个:
my_list = [("ww","hello"),("www","world"),("w","sardines")]
def take_el(elem):
return len(elem[0])
sorted(my_list, key=take_el)
或使用 lambda
sorted(my_list, key = lambda x: len(x[0]))
使用这种简单的技术根据元组中的第一个元素进行排序:
sorted(my_list, key=lambda x: len(x[0]))
将x[0]
更改为x[1]
以使用第二个元组元素的长度对列表进行排序,依此类推。
my_list = [("ww","hello"),("www","world"),("w","sardines")]
listOrder = []
newList = []
for i in my_list:
listOrder.append(int(len(i[0])))
listOrder.sort()
for i in listOrder:
for j in my_list:
if i == len(j[0]):
newList.append(j)
print(newList)
这也会有所帮助。
使用 sorted 其中 x 是元组,x[n] 是切片
my_list = [("ww","hello"),("www","world"),("w","sardines")]
result = sorted(my_list, key = lambda x: x[0])
print(result)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.