python字元串數組排序
❶ python 怎麼指定字元串中第幾個
Python字元串可以理解為一個數組,獲取某一部分的可以使用 str[beginIndex:endPosition]。
_渲_tr為需要截取的字元串,beginIndex為需要截取的第一個字元的下標,endPosition為截取字元最後一個的位置,注意是下標和位置(下面示例),下標+1=位置;beginIndex,endPosition都可以不寫,不寫的情況默認第一個或者最後一個
❷ python 字元串列表中根據字元串內的數字進行排序。
你的列表A現在不就是按所含數字從大到小排列的嗎?
不過,我還是用正則表達式的方法幫你排了一下序,如果你要數字從小到大排序,只要把alist.sort(key=sort_key,reverse=True)改成alist.sort(key=sort_key,reverse=False)就行了.
完整的Python程序如下
importre
defsort_key(s):
ifs:
try:
c=re.findall('d+$',s)[0]
except:
c=-1
returnint(c)
defstrsort(alist):
alist.sort(key=sort_key,reverse=True)
returnalist
A=['abc15','abd13','abe9','abf6','abg2']
print(strsort(A))
❸ 關於python數組中的數組的處理
代碼如下:
a=[[1,2],[3,1],[4,0]]
a.sort(key=lambdax:x[1])
b=[]
map(b.extend,a)
printb
labma是一個很強大的函數,lambda允許用戶快速定義單行函數,當然用戶也可以按照典型的函數定義完成函數;
sort函數主要是用來排序的;
最後使用map函數展開即可。
❹ Python中怎麼向sorted()傳遞參數reverse=True
1、查看sorted()函數的幫助信息。sorted(iterable,/,*,key=None,reverse=False)。
❺ python list排序問題
可以用
list.sort(key = int)
key的最用相當於構建值,列表中的每個值實際上會轉變為key(value),上例則為 int(value)
也就是 ['1','2','11','22'].sort(key = int)相當於[int('1'),int('2'),int('11'),int('22')].sort()
key可以理解為用於list comprehension的函數 ['1','2','11','22'].sort(key = int) 相當於
[int(x) for x in ['1','2','11','22'] ].sort()
❻ Python實現,輸入一個正整數數組,把數組里所有數字拼接起來排成一個數,列印能拼接
你的例子第一列全是 3,我給個例子吧:[321, 32, 3, 4],輸出該是 321,32,3,4。
第一個數越大,則應該排在後面,畢竟 4XXX 是比 3XXX 大的。
setp1:[0][1][2]
321
32
3
4
排序第0列,越大的排越後。
ret=[?,?,?,4]
setp2:[0][1][2]
321
32
3<3><-補位3,因為3是同3組第一個元素。
排序第1列,越大的排越後。
ret=[?,?,3,4]
setp3:[0][1][2]
321
32<3><-補位3,因為3是同3組第一個元素。
排序第2列,越大的排越後。323比321大,所以……
ret=[?,32,3,4]
只剩一個,那個排第一:
ret=[321,32,3,4]
以上就是基本思路了。綜上可得:
1. 先按 [0] 列分組:
2. 組中每個數都補位到同樣長度,然後再排序。
完整代碼:
defjoinmin(ls):
groups={}
foriteminls:
prefix=item
n=0
whileprefix>10:
prefix//=10
n+=1
groups.setdefault(prefix,[]).append([item,n])
sorted_keys=list(sorted(groups))
ret=0
forprefixinsorted_keys:
items=groups[prefix]
max_n=max([t[1]fortinitems])
presort_items=[]
foritem,item_ninitems:
padding=item
n=item_n
whilemax_n>n:
padding*=10
padding+=prefix
n+=1
presort_items.append((padding,item,item_n))
for_,item,ninsorted(presort_items):
whilen>-1:
ret*=10
n-=1
ret+=item
returnret
不是看在你的分上答的,不過這種小題目蠻有趣的。
❼ python數組怎麼排亂序,就是已知數組中一些的數字隨機排列
>>>import random
>>> x=[1,2,3,4]
>>> random.shuffle(x)
>>> x
[4, 3, 2, 1]
>>> random.shuffle(x)
>>> x
[1, 3, 2, 4]
>>> random.shuffle(x)
>>> x
[3, 1, 4, 2]
>>> random.shuffle(x)
>>> x
[2, 1, 3, 4]