1.
import 導入模塊
import xxx,xxx,xxx 可以同時導入多個庫
建議每次導入一個。
from xxx import xx 從模塊中導入指定方法
xx()導入的方法就直接用
2.
python基本數據類型
數字(int float long complex(復數)) 字符串 列表 字典 元組 集合 py3去除long了,擁抱py3吧
其中complex是高中數學知識,不知道的就直接百度。
3.
區分可變數據類型和不可變數據類型
就是變量的內存地址變不變的問題
可變數據類型:字典dict,列表list
不可變數據類型:整型int 浮點數float 字符串str 元組tuple
比較拗口,
地址不能變的叫可變數據,地址能變到叫不可變數據
,完全相反的。。。。。。。。。。。
4.
將"hello world"轉換為首字母大寫"Hello World"
我開始是這么寫的,這里有個map函數,功能是把方法映射到后面的列表中每一位。map(方法,列表)=>2個參數
def q(n):
"""轉換大小寫方法,沒有用for,
因為for遇到return就結束了,
那時候的 b = ["H","W"],自己試一下就知道了 """
return n[:1].upper() + n[1:].lower()
if __name__ == '__main__':
a = ['hello', 'world']
b = list(map(q, a)) # q是方法,a是列表
print(b[0]+" "+b[1])
結果是 Hello World
后來知道有個函數 capitalize() 專門干這個首字母大寫的
def q(n):
""" 實現capitalize()方法"""
return name.capitalize()
a = 'hello world'
a1 = a.split(" ")
b = list(map(q, a1))
print(b)
結果是 Hello World
5. 如何檢測字符串中只含有數字?
import re
res = str(input("輸入一個字符串:"))# 確保輸入是字符串
value = re.findall(r'\d+', res)
# 返回一個列表
if len(value) == 0:
# 假如輸入都不是數字,那value必然是空列表
print("字符串不是全數字")
elif len(value[0]) == len(res):
# 捕獲到全部輸入是數字,
#那么一定是在第一個value[0]的位置,然后長度和輸入相同就OK了
print("字符串全部是數字")
else:
print("字符串不是全數字")
6. 將字符串"ilovechina"進行反轉
#切片法,還可以用 reversed()方法 ,遞歸,或者其他
value = "ilovechina"
res = value[::-1]
print(res)
reversed()方法
value = "ilovechina"
res = reversed(value)
print(res)
#這里的返回值是一個地址,原因是reversed返回的是一個迭代器
#print(”“.join(res)) 就可以把結果顯示出來了
一個函數的輸出是print(xxx),把print(xxx)換成 yeild xxx 就變成了生成器函數。結果是一個迭代器,迭代器是一個變量,就是xxx這個變量叫迭代器。效果就是節約內存。
7. Python 中的字符串格式化方式你知道哪些?
百分號%
format
8. 有一個字符串開頭和末尾都有空格,比如“ adabdw ”,要求寫一個函數把這個字符串的前后空格都去掉。
str = ' adabdw '
newstr = str.split(' ')
print(newstr)
print(newstr[1])
結果
['', 'adabdw', '']
adabdw
9. 獲取字符串”123456“最后的兩個字符。
str = '123456'
ns = str.split('4')
print(ns[1])
結果 56
10. 一個編碼為 GBK 的字符串 S,要將其轉成 UTF-8 編碼的字符串,應如何操作?
UTF-8=>GBK
import sys
print(sys.getdefaultencoding())
str = "s" #默認是utf-8
str_gbk = str.encode("gbk") #utf-8轉成gbk
print(str_gbk)
print(str.encode())
結果
utf-8
b'\xc4\xe3\xb9\xfe'
b'\xe4\xbd\xa0\xe5\x93\x88'
- s=“info:xiaoZhang 33 shandong”,用正則切分字符串輸出[‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]
import re
list = []
s = "info:xiaoZhang 33 shandong"
for i in range(1,5):
res = re.match('(\w+):(\w+)\s(\d+)\s(\w+)', s)
ress = res.group(i)
list.append(ress)
print(list)
結果['info', 'xiaoZhang', '33', 'shandong']
這里說一下group,他是單獨取正則表達式括號里的值,然后range是1-5,不是0-5,原因是group是1開始的,寫0-5會多加一個變量S
我寫的是參考答案
12. 已知 AList = [1,2,3,1,2],對 AList 列表元素去重,寫出具體過程。
不看過程寫法
AList = [1,2,3,1,2]
print(set(AList))
結果{1, 2, 3} 變成集合了
AList = [1,2,3,1,2]
BList = []
for i in AList:
a1 = i
if a1 not in BList:
BList.append(a1)
print(BList)
結果[1, 2, 3]
13.如何實現 “1,2,3” 變成 [“1”,“2”,“3”]
a = list("1,2,3")
b = []
for i in range(3):
b.append(a[i * 2])
print(b)
結果 ['1', '2', '3']
14. 給定兩個 list,A 和 B,找出相同元素和不同元素
A = [1, 6, 8, 9, "iii", 95]
B = [6, 85, 64]
C = [] 不同值放這里
D = [] 相同值放這里
for i in A:
for m in B:
if i == m:
D.append(i)
print(D)
結果 相同值 [6]
new_c = A+B
a = list(set(new_c))
for i in a:
if i not in D:
C.append(i)
print(C)
結果 不同值 [64, 1, 'iii', 8, 9, 85, 95]
15. [[1,2],[3,4],[5,6]]一行代碼展開該列表,得出[1,2,3,4,5,6]
a = [[1,2],[3,4],[5,6]]
for x in a:
for y in x:
print(y)
來大佬教一下,一行我也不會,
list = [lambda x,y:x for x in a for y in x]
然后輸出結果是
[
.
at 0x0000020287E5CE18>,
.
at 0x0000020287E612F0>,
.
at 0x0000020287E61378>,
.
at 0x0000020287E61400>,
.
at 0x0000020287E61488>,
.
at 0x0000020287E61510>]
怎么整啊求留言!!!!!!!!!!!!!
16. 合并列表[1,5,7,9]和[2,2,6,8]
a = [1,5,7,9]
b = [2,2,6,8]
c = a+b
print(c)
結果
[1, 5, 7, 9, 2, 2, 6, 8]
17. 如何打亂一個列表的元素?
import random
x = [i for i in range(10)]
print(x)
random.shuffle(x)
print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 2, 4, 7, 5, 8, 6, 1, 0, 3]
這個我也是百度的,知識盲區,絕了
18.
字典操作中 del 和 pop 有什么區別
del刪除整個字典,變量都給你刪了
pop指定刪除給鍵的那個數據
a = {‘a’:‘1’,‘b’:‘2’}
print(a.pop(‘a’))
print(a)
結果
1
{‘b’: ‘2’}
del a
print(a)
結果直接報錯說 a不是定義變量 NameError: name ‘a’ is not defined
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
