Python根据内嵌的数字将字符串排序(sort by numbers embedded in strings)
2015-02-03 09:17
417 查看
import re
re_digits = re.compile(r'(\d+)')
def embedded_numbers(s):
pieces = re_digits.split(s) # 切成数字与非数字
pieces[1::2] = map(int, pieces[1::2]) # 将数字部分转成整数
return pieces
def sort_strings_with_embedded_numbers(alist):
return sorted(alist, key=embedded_numbers)
files = '12 2 56 345 12'.split( )
new_list=sort_strings_with_embedded_numbers(files)
str=' '.join(new_list)
print(str)
import re
re_digits = re.compile(r'(\d+)')
def embedded_numbers(s):
pieces = re_digits.split(s) # 切成数字与非数字
pieces[1::2] = map(int, pieces[1::2]) # 将数字部分转成整数
return pieces
def sort_strings_with_embedded_numbers(alist):
return sorted(alist, key=embedded_numbers)
files = 'file3.txt file11.txt file7.txt file4.txt file15.txt'.split( )
new_list=sort_strings_with_embedded_numbers(files)
str=' '.join(new_list)
print(str)
chrfiles = [ 'chr9.txt', 'chr10.txt', 'chr1.txt', 'chr3.txt', 'chr11.txt' ]
chrfiles.sort(key = lambda x:int(re.match('\D+(\d+)\.txt',x).group(1)))
chrfiles
chrfiles = [ '9.txt', '10.txt', '1.txt', '3.txt', '11.txt' ]
chrfiles.sort(key = lambda x:int(re.match('(\d+)\.txt',x).group(1)))
chrfiles
chrfiles = [ '9', '10', '1', '3', '11' ]
chrfiles.sort(key = lambda x:int(re.match('(\d+)',x).group(1)))
chrfiles
re_digits = re.compile(r'(\d+)')
def embedded_numbers(s):
pieces = re_digits.split(s) # 切成数字与非数字
pieces[1::2] = map(int, pieces[1::2]) # 将数字部分转成整数
return pieces
def sort_strings_with_embedded_numbers(alist):
return sorted(alist, key=embedded_numbers)
files = '12 2 56 345 12'.split( )
new_list=sort_strings_with_embedded_numbers(files)
str=' '.join(new_list)
print(str)
import re
re_digits = re.compile(r'(\d+)')
def embedded_numbers(s):
pieces = re_digits.split(s) # 切成数字与非数字
pieces[1::2] = map(int, pieces[1::2]) # 将数字部分转成整数
return pieces
def sort_strings_with_embedded_numbers(alist):
return sorted(alist, key=embedded_numbers)
files = 'file3.txt file11.txt file7.txt file4.txt file15.txt'.split( )
new_list=sort_strings_with_embedded_numbers(files)
str=' '.join(new_list)
print(str)
chrfiles = [ 'chr9.txt', 'chr10.txt', 'chr1.txt', 'chr3.txt', 'chr11.txt' ]
chrfiles.sort(key = lambda x:int(re.match('\D+(\d+)\.txt',x).group(1)))
chrfiles
chrfiles = [ '9.txt', '10.txt', '1.txt', '3.txt', '11.txt' ]
chrfiles.sort(key = lambda x:int(re.match('(\d+)\.txt',x).group(1)))
chrfiles
chrfiles = [ '9', '10', '1', '3', '11' ]
chrfiles.sort(key = lambda x:int(re.match('(\d+)',x).group(1)))
chrfiles
相关文章推荐
- Dataview根据数字(字符串类型)排序Sort
- 【Python基础】之对字典进行排序操作(sort by the values of dict)
- Java中使用Collections.sort()方法对数字和字符串泛型的LIst进行排序
- [LeetCode] Sort Characters By Frequency 根据字符出现频率排序
- 字符串数字排序Arrays.sort() Comparator的用法
- [Leetcode,python] Find All Numbers Disappeared in an Array 寻找数组中消失的数字
- python 排序,根据字符长度,数字,字母
- [Leetcode,python] Find All Numbers Disappeared in an Array 寻找数组中消失的数字
- python list sort 中string 中包含数字,根据数字排序
- [Leetcode,python] Find All Numbers Disappeared in an Array 寻找数组中消失的数字
- 【Two Sigma】 数字单词混合字符串排序 Mix Sort
- python---数据结构与数据类型,list,dict,tuple,排序sort,比较cmp,字符串模版
- [Leetcode,python] Find All Numbers Disappeared in an Array 寻找数组中消失的数字
- python中根据list中字符串元素的某一位(几位数字)对list排序
- [Leetcode,python] Find All Numbers Disappeared in an Array 寻找数组中消失的数字
- [Leetcode,python] Find All Numbers Disappeared in an Array 寻找数组中消失的数字
- js数组排序,根据数组中对象的某一属性进行排序 支持数字和字符串的排序,也支持按两个属性进行排序
- python使用sorted方法 根据字符串中的序号进行排序
- [Leetcode,python] Find All Numbers Disappeared in an Array 寻找数组中消失的数字
- [Leetcode,python] Find All Numbers Disappeared in an Array 寻找数组中消失的数字