日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 字符串去重从小到大排列_110道题整理(1-60)

發布時間:2025/3/20 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 字符串去重从小到大排列_110道题整理(1-60) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

import time

#21、列出python中可變數據類型和不可變數據類型,并簡述原理

'''

不可變數據類型:int型、字符串型str和元組tuple

不允許變量的值發生變化,如果改變了變量的值,相當于是新建了一個對象,內存中會有新地址,

而對于相同的值的對象,在內存中則只有一個地址

總結:變量的值不變,則內存地址不變

a = 1

b = 1

print(id(a)) 140703722169168

print(id(b)) 140703722169168

-------------

可變數據類型:列表list和字典dict;

允許變量的值發生變化,即如果對變量進行append、+=等這種操作后,

只是改變了變量的值,而不會新建一個對象,變量引用的對象的地址也不會變化

不過對于相同的值的不同對象,在內存中都有自己的地址

總結:變量名不變,則內存地址不變

a = [1,2]

b = [1,2]

print(id(a)) 1194884883080

print(id(b)) 1194884883144

'''

#22、s = "ajldjlajfdljfddd",去重并從小到大排序輸出"adfjl"

'''

s = "ajldjlajfdljfddd"

s = set(s)

s = list(s)

s.sort(reverse=False)

s = "".join(s)

#s = str(s) #['a', 'd', 'f', 'j', 'l']

print(s) #adfjl

注意:

1.字符串去重用set方法

2.去重之后,必須轉化為列表,是因為sort函數只能接收list類型的數據

3.sort方法沒有返回值,不要用變量接收

4.sort之后,用 "".join() 變成字符串

5.從小到大排列:reverse=False

'''

#23、用lambda函數實現兩個數相乘

'''

ret = lambda a,b:a*b

print(ret(3,4))

'''

#24、字典根據鍵從小到大排序

'''

sort 與 sorted 區別:

sort 是應用在 list 上的方法,屬于列表的成員方法

sorted 可以對所有可迭代的對象進行排序操作

list 的 sort 方法返回的是對已經存在的列表進行操作,

內建函數 sorted 方法返回的是一個新的 list,而不是在原來的基礎上進行的操作。

sort使用方法為ls.sort(),而sorted使用方法為sorted(ls)

sort(cmp=None, key=None, reverse=False)

sorted(iterable, cmp=None, key=None, reverse=False)

reverse:True反序;False 正序

print(dic.items()) #[('name', 'zs'), ('age', 18), ('city', '深圳'), ('tel', '1362626627')]

dic={"name":"zs","age":18,"city":"深圳","tel":"1362626627"}

lis = sorted(dic.items(),key=lambda d:d[0],reverse=False)

print(lis)

'''

#25、利用collections庫的Counter方法統計字符串每個單詞出現的次數

# "kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"

'''

from collections import Counter

s = "kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"

s = Counter(s)

print(s)

'''

#26、字符串a = "not 404 found 張三 99 深圳",每個詞中間是空格,

# 用正則過濾掉英文和數字,最終輸出"張三 深圳"

'''

思路:

1.先用正則找出不符合要求的數據

2.再根據原始的數據,遍歷兩個列表,把其中共同的部分刪掉

import re

a = "not 404 found 張三 99 深圳"

b = a.split(" ")

ret = re.findall('\d+|[a-zA-Z]+',a)

for i in ret: #['not', '404', 'found', '99']

if i in b: #['not', '404', 'found', '張三', '99', '深圳']

b.remove(i)

bb = " ".join(b)

print(ret)

print(bb)

--------------------

匹配小數的代碼

import re

aa = "not 404 55.66 found 張三 99 深圳"

bb = aa.split(" ")

ret = re.findall('\d+\.?\d*|[a-zA-Z]+',aa)

for i in ret:

if i in bb:

bb.remove(i)

cc = " ".join(bb)

print(ret)

print(cc)

'''

#27.filter方法求出列表所有奇數并構造新列表,

# a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

'''

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

a = list(filter(lambda x:x%2==1,a))

print(a) #filter(lambda x:x%2==1,a)

'''

#28、列表推導式求列表所有奇數并構造新列表,

# a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

'''

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

ret = [i for i in a if i%2==1]

print(ret)

'''

#29、正則re.complie作用

'''

re.compile是將正則表達式編譯成一個對象,加快速度,并重復使用

text = "apple's price is $9.94,orange's price is $12.5"

#先編譯號提取的內容

r_obj = re.compile('\d+\.?\d*')

#直接傳入編譯內容和文本即可

ret = re.search(r_obj,text)

print(ret.group())

ret2 = re.findall(r_obj,text)

print(ret2)

'''

#30、a=(1,)b=(1),c=("1") 分別是什么類型的數據?

'''

a=(1,)

b=(1)

c=("1")

print(type(a)) #typle

print(type(b)) #int

print(type(c)) #str

'''

#31、兩個列表[1,5,7,9]和[2,2,6,8]合并為[1,2,2,3,6,7,8,9]

'''

l1 = [1,5,7,9]

l2 = [2,2,6,8]

l1.extend(l2)

l1.sort(reverse=False)

print(l1) #[1, 2, 2, 5, 6, 7, 8, 9]

'''

#32、用python刪除文件和用linux命令刪除文件方法

'''

python:os.remove(文件名)

linux: rm 文件名

'''

#33、log日志中,我們需要用時間戳記錄error,warning等的發生時間,

# 請用datetime模塊打印當前時間戳 “2018-04-01 11:38:54”

'''

import datetime

a = str(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

print(a) #2019-04-16 17:27:33

#如果加上星期的話:

a = str(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))\

+ ' 星期' + str(datetime.datetime.now().isoweekday())

print(a)

'''

#34、數據庫優化查詢方法

'''

外鍵,索引,聯合查詢,選擇特定字段等等

'''

#35.請列出你會的任意一種統計圖(條形圖、折線圖等)繪制的開源庫,第三方也行

'''

pychart、matplotlib

'''

#36、寫一段自定義異常代碼

'''

def foo():

try:

for i in range(6):

if i > 3:

raise Exception("數字大于3了")

print(i)

except Exception as e:

print(e)

if __name__ == '__main__':

foo()

'''

#37.正則表達式匹配中,(.*)和(.*?)匹配區別?

'''

(.*)是貪婪匹配,會把滿足正則的盡可能多的往后匹配

(.*?)是非貪婪匹配,會把滿足正則的盡可能少匹配

'''

#38.簡述Django的orm

'''

ORM,全拼Object-Relation Mapping,意為對象-關系映射

實現了數據模型與數據庫的解耦,通過簡單的配置就可以輕松更換數據庫,

而不需要修改代碼只需要面向對象編程,orm操作本質上會根據對接的數據庫引擎,

翻譯成對應的sql語句,所有使用Django開發的項目無需關心程序底層使用的

是MySQL、Oracle、sqlite....,如果數據庫遷移,只需要更換

Django的數據庫引擎即可

'''

#39、[[1,2],[3,4],[5,6]]一行代碼展開該列表,得出[1,2,3,4,5,6]

'''

l = [[1,2],[3,4],[5,6]]

ll = [j for i in l for j in i]

print(ll)

'''

#40、x="abc",y="def",z=["d","e","f"],

# 分別求出x.join(y)和x.join(z)返回的結果

'''

x="abc"

y="def"

z=["d","e","f"]

m = x.join(y)

print(m) #dabceabcf

n = x.join(z)

print(n) #dabceabcf

'''

總結

以上是生活随笔為你收集整理的python 字符串去重从小到大排列_110道题整理(1-60)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。