按每个int的第一个数字排序整数列表

时间:2016-04-30 00:38:56

标签: python loops sorting

我试图弄清楚如何按每个int中的第一个数字对整数列表进行排序(如果相同,则移动到下一个数字等)

我确定我可以循环播放,(虽然我一直有问题,因为我似乎需要让我的列表成为一个字符串列表才能抓住第一个数字而这只是没有& #39;一直在为我工作),但我想知道是否有办法用sorted()方法轻松完成这项工作。

EX:

myList = [34254, 2343, 49, 595, 323]

我想要的结果:

sortedList = [2343, 323, 34254, 49, 595]

1 个答案:

答案 0 :(得分:9)

使用字符串键进行排序,您将获得ASCIIbetical排序。

#include <iostream>
#include <fstream>
#include <string>
#include <cstdio>
using namespace std;

int main()
{
    string line; //holds values from txt file
    string input; //holds user-inputted values
    ifstream inputFile; //fstream operator declaration
    bool isFound = false; //bool value to indicate if the string has been found

    inputFile.open("dict.txt", ios::in);

    if (inputFile)
    {

        while (input != "exit")
        {
            // Rewind file back to beginning every time
            inputFile.clear();
            inputFile.seekg(0,std::ios::beg); 

            cout << "Enter word to spellcheck (or exit to end)\n";
            getline(cin, input);
            while (getline(inputFile, line))
            {
                if (input == line)
                {
                    isFound = true;
                    break;
                }
                else
                {
                    isFound = false;
                }
            }


            if (isFound )
            {
                cout << input << " is spelled correctly.\n";
            }

            else
            {
                if (input != "exit"){ // Don't print message if exiting
                    cout << input << " is not spelled correctly.\n";
                }
            }
        }

        if (input == "exit")
        {
            cout << "Ending program...\n";
        }
        inputFile.close();
    }

    else
    {
        cout << "Cannot open file\n";
    }

    return 0;
}