相关疑难解决方法(0)

如何将字符串拆分为文本和数字?

我想分割这些字符串

'foofo21'
'bar432'
'foobar12345'
Run Code Online (Sandbox Code Playgroud)

['foofo', '21']
['bar', '432']
['foobar', '12345']
Run Code Online (Sandbox Code Playgroud)

有人知道在python中执行此操作的简单方法吗?

python string split

48
推荐指数
6
解决办法
9万
查看次数

以正确的顺序对染色体列表进行排序

这是一个看似简单的问题,但事实证明有点令人烦恼。我有一个染色体列表(有 23 条染色体 - 染色体 1 到 21,然后是染色体 X 和染色体 Y),如下所示:

['chr11','chr14','chr16','chr13','chr4','chr13','chr2','chr1','chr2','chr3','chr14','chrX',]

我想按以下顺序对其进行排序:

['chr1', 'chr2','chr2','chr3','chr4','chr11','chr13','chr13', 'chr14','chr14','chr16','chrX']

然而,由于 python 的字典顺序性质,sort它会进行排序chr1, chr10, chr11, chr12...chr2,等,因为我有 X 染色体,按整数值排序似乎也不是一个选项。我可能需要指定一个唯一的键来对列表进行排序吗?或者我缺少某种明显的解决方案。

python sorting list

5
推荐指数
1
解决办法
531
查看次数

自然地通过元组中Python的第一个元素对字母数字元组进行排序

一个以前的计算器的问题介绍了如何以字母数字排序的字符串列表.我想用元组的第一个元素按字母数字排序元组列表.

例1:

>>> sort_naturally_tuple([('b', 0), ('0', 1), ('a', 2)])
[('0', 1), ('a', 2), ('b', 0)]
Run Code Online (Sandbox Code Playgroud)

例2:

>>> sort_naturally_tuple([('b10', 0), ('0', 1), ('b9', 2)])
[('0', 1), ('b9', 2), ('b10', 0)]
Run Code Online (Sandbox Code Playgroud)

更新: 要强调字母数字因素,请查看示例2.

python sorting tuples alphanumeric natural-sort

4
推荐指数
1
解决办法
2871
查看次数

如何排序Django模型对象的字母数字列表

我试图解决如何在python中将字母数字集排序为Django中提出的问题的答案.我有一个查询返回的Django模型实例列表,我无法弄清楚如何使用lambda构建一个优雅(或其他!)排序函数.

如果我的模型包含'name'属性 - 例如

result = Take.objects.all()
for i in result:
   print i.name
Run Code Online (Sandbox Code Playgroud)

如何通过name属性对结果对象列表进行排序并应用多个测试?

即我的名字值可以是'1A','1','A1','001A'等

例如,给出这个顺序(基于名称)

1A
2A
10A
A1
A2
A10
A11
B2
B4
Run Code Online (Sandbox Code Playgroud)

python sorting django

2
推荐指数
1
解决办法
2717
查看次数

按字母数字的属性对对象列表进行排序

我有一个相同类型的对象列表

lis = [<obj>, <obj>, <obj>]
Run Code Online (Sandbox Code Playgroud)

我希望通过object属性自然排序name.我试过了

sortedlist = sorted(lis, key=lambda x: x.name)
Run Code Online (Sandbox Code Playgroud)

然而,这将列表排序为

A1
A10
A2
Run Code Online (Sandbox Code Playgroud)

不是我想要的格式

A1
A2
A10
Run Code Online (Sandbox Code Playgroud)

我已经尝试修改代码来排序字母数字字符串,但我不能让它适用于对象列表.

python sorting

2
推荐指数
3
解决办法
1307
查看次数

排序此列表的最佳方法是什么?

我有以下列表:

my_list = ['name.13','name.1', 'name.2','name.4', 'name.32']
Run Code Online (Sandbox Code Playgroud)

我希望对列表进行排序并按顺序打印出来,就像这样

name.1
name.2
name.4
name.13
name.32
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的是:

print sorted(my_list)

name.1
name.13
name.2
name.32
name.4
Run Code Online (Sandbox Code Playgroud)

sorted()命令显然按字母顺序处理字符串.也许在检测到.第一个之后用数字排序会更好吗?

有没有一个好的方法来正确排序?什么是最有效的方法?我如何应用这个是我有一个元组列表,并希望使用元组的第二个元素对它进行排序?例如:

tuple_list = [('i','name.2'),('t','name.13'),('s','name.32'),('l','name.1'),('s','name.4')]

print tuple_list
'l','name.1'
'i','name.2'
's','name.4'
't','name.13'
's','name.32'
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助,如果您认为可以改进/澄清问题,请一如既往地发表评论.

亚历克斯

python sorting list sorted

2
推荐指数
1
解决办法
226
查看次数

标签 统计

python ×6

sorting ×5

list ×2

alphanumeric ×1

django ×1

natural-sort ×1

sorted ×1

split ×1

string ×1

tuples ×1