我正在尝试以特定方式对文件和目录进行排序(对我来说这是通常的方式,但还可以)。所以我有 JPG 文件,然后是一些 txt 文件或 wav,我有一些目录,我希望它像首先按名称排序所有文件,然后对目录排序,但是当我尝试执行以下操作时:
path = "/my_path"
arr = os.listdir(path)
arr.sort(key=lambda x: (os.path.isdir(x), x))
print(arr)
Run Code Online (Sandbox Code Playgroud)
代码给了我输出:
['10000100.JPG', '10000101.JPG', '10000102.JPG', '10000103.JPG', '10000104.BMP', 'BACKUP.BIN', 'DEPOSIT.BIN', 'HRYS', 'WAVS', 'k.txt', 's.wav']
Run Code Online (Sandbox Code Playgroud)
但应该是:
['10000100.JPG', '10000101.JPG', '10000102.JPG', '10000103.JPG', '10000104.BMP', 'BACKUP.BIN', 'DEPOSIT.BIN', 'k.txt', 's.wav', 'HRYS', 'WAVS']
Run Code Online (Sandbox Code Playgroud)
如何以正确的方式去做?
我想创建按字母顺序升序的名称,例如 Excel 中的列名称。那就是我想要拥有某物。如a、b、c、...、z、aa、ab、...az、...zz、aaa、aab、...
我努力了:
for i in range(1000):
mod = int(i%26)
div = int(i/26)
print(string.ascii_lowercase[div]+string.ascii_lowercase[mod])
Run Code Online (Sandbox Code Playgroud)
直到zz为止都有效,但由于索引耗尽而失败
aa
ab
ac
ad
ae
af
ag
ah
ai
aj
ak
al
.
.
.
zz
Run Code Online (Sandbox Code Playgroud)
索引错误
我有一个项目列表,并希望为用户提供跳转到他们想要的字母的选项.
例如,屏幕顶部的字母AZ,当用户点击B时,它将它们带到列表的一部分,第一个项目以B开头.
有没有办法用ColdFusion做到这一点?
我的列表使用查询填充.
<table border="1">
<tr>
<th>Names</th>
<th>Other Stuff</th>
</tr>
<cfoutput query="getnames">
<tr>
<td>
<li>#getnames.names#</li>
</td>
<td>
<li>#getnames.otherstuff#</li>
</td>
</tr>
</cfoutput>
</table>
Run Code Online (Sandbox Code Playgroud) 我想创建一个存储按字母顺序排列的哈希键列表的数组.我试过这个方法:
@sorted = sort { $hash{$a} cmp $hash{$b} } keys %hash;
Run Code Online (Sandbox Code Playgroud)
...但事实证明这会返回按值排序的哈希键列表(而我想要按字母顺序排序的哈希键列表).
有什么建议?
我有一个包含字符串格式名称的数组(es.luca,marco,giuseppe,..)。该数组将用于填充表格。如何将表划分为部分(az)并在右侧部分中放入数组的名称?
我想将一个数字转换为相应的字母.例如:
1 = A
2 = B
3 = C
Run Code Online (Sandbox Code Playgroud)
这可以在javascript中完成而无需手动创建数组吗?在php中有一个range()函数可以自动创建数组.在javascript中有类似的东西吗?
我需要能够从 AZ 和 AA-ZZ 订购我的数据输出。问题是,我只能让 R 按字母顺序排序,所以 AA 排在 B 和 C 之前。
有没有一种方法可以先将我的数据作为单字母排序,然后按字母顺序将双字母(a、b、c、aa、bb、cc)排序?
我在Eclipse中创建了一个android列表视图,我希望按第一个字符的字母顺序对输入的数据进行排序.不知道如何做到这一点.
private ListView loginL;
private Button bLogin;
private ListAdapter loginListAdapter;
private ArrayList<LoginDetails> loginArrayList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_listview);
loginL = (ListV)
Run Code Online (Sandbox Code Playgroud)
findViewById(R.id.loginlist); loginL.setOnItemClickListener(本);
bLogin = (Button)
Run Code Online (Sandbox Code Playgroud)
findViewById(R.id.button3); webLogin.setOnClickListener(本);
loginArrayList = new ArrayList<LoginDetails>();
loginLAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, populateList());
loginL.setAdapter(loginLAdapter);
}
Run Code Online (Sandbox Code Playgroud) 我正在检查我的数组中的字符串是否按字母顺序排列.我的代码检查器说我的代码无法解决某些情况,但我真的不确定如何更改它.
编辑:显然我的代码在检查数组"猫猿狗斑马"时返回"true",这显然是错误的.
public boolean isSorted()
{
boolean sorted = true;
for(int i = 0; i < list.size(); i++)
{
for(int j = i+1; j < list.size(); j++)
{
if (list.get(i).compareTo(list.get(j)) == 1)
{
sorted = false;
}
}
}
return sorted;
}
Run Code Online (Sandbox Code Playgroud) 好的,所以我需要的是相当不言自明的.
使用相同的方式.sort,为了按字母顺序/按字典顺序排序基于拉丁语的字符串数组,我正在寻找一种方法来排序非拉丁文UTF-8字符串.
特别:
通过"排序",我的意思与通常在字典中找到它们的方式相同.(我知道对于中国人/日本人来说这可能会更棘手,所以让我们先坚持其余部分)
有任何想法吗?
PS我对音译不感兴趣(这就是我目前正在做的事情),因为结果与"正确"相差甚远 - 按词汇表来说......
注意:它与RoR无关.只是纯粹的Ruby.
alphabetical ×10
sorting ×4
java ×2
python ×2
android ×1
coldfusion ×1
coldfusion-8 ×1
dataframe ×1
dictionary ×1
directory ×1
divide ×1
hash ×1
ios ×1
javascript ×1
list ×1
listdir ×1
listview ×1
numbers ×1
perl ×1
r ×1
ruby ×1
sections ×1
tableview ×1
vector ×1