Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3排序函数的行为与预期不符,获得不同的输出_Python_Python 3.x_Sorting_Lexicographic - Fatal编程技术网

Python3排序函数的行为与预期不符,获得不同的输出

Python3排序函数的行为与预期不符,获得不同的输出,python,python-3.x,sorting,lexicographic,Python,Python 3.x,Sorting,Lexicographic,为什么会有这种奇怪的行为: a = ['This','is','some','banana'] "_".join(sorted(a)). 输出- 这是香蕉 它应该给出输出- 这是香蕉吗 我遗漏了什么吗?您需要在本例中指定排序键-小写str "_".join(sorted(a, key=str.lower)) 这很有效。默认情况下,python将大写字母放在第一位。为什么T介于i和T之间T是84,i是105,所以这个应该在is之前

为什么会有这种奇怪的行为:

a  = ['This','is','some','banana']
"_".join(sorted(a)).
输出-

这是香蕉

它应该给出输出-

这是香蕉吗


我遗漏了什么吗?

您需要在本例中指定排序键-小写
str

"_".join(sorted(a, key=str.lower))

这很有效。默认情况下,python将大写字母放在第一位。

为什么
T
介于
i
T
之间
T
是84,
i
是105,所以
这个
应该在
is
之前