1. 程式人生 > >【23】Python基礎筆記2

【23】Python基礎筆記2

join 鍵值 什麽 位置 布爾 獲取 允許 選擇 內容

1、請用代碼實現:利用下劃線將列表的每一個元素拼接成字符串

li=[‘alex‘, ‘eric‘, ‘rain‘]
print("_".join(li))
print(li[0]+"_"+li[1]+"_"+li[1])

3、寫代碼,有如下列表,按照要求實現每一個功能

li=[‘alex‘, ‘eric‘, ‘rain‘]
?計算列表長度並輸出
print(len(li))
?列表中追加元素“seven”,並輸出添加後的列表

li.append("seven")
print(li)

?請在列表的第1個位置插入元素“Tony”,並輸出添加後的列表

li.insert(1,"Tony")
print(li)

?請修改列表第2個位置的元素為“Kelly”,並輸出修改後的列表

li[1]="kelly"
print(li)

?請刪除列表中的元素“eric”,並輸出修改後的列表

li.remove("eric")
li.pop(1)
del li[1]
print(li)

?請刪除列表中的第2個元素,並輸出刪除的元素的值和刪除元素後的列表

for i in li:
    if i == li[2]:
        li.pop(2)
        print(i)
        print(li)

?請刪除列表中的第2至4個元素,並輸出刪除元素後的列表

li=[‘alex‘, ‘eric‘, ‘rain‘,‘ls‘]
print(li[2:4])
del li[2:4]
print(li)

?請將列表所有的元素反轉,並輸出反轉後的列表

print("反轉前:",li)
li.reverse()
print("reverse後",li)

?請使用for、len、range輸出列表的索引

for i in range(len(li)):
    print(i)

?請使用enumrate輸出列表元素和序號(序號從100開始)

for x,y in enumerate(li):
    print(x+100,y)

?請使用for循環輸出列表的所有元素

for i in li:
    print(i)

4、寫代碼,有如下列表,請按照功能要求實現每一個功能

li = ["hello", ‘seven‘, ["mon", ["h", "kelly"], ‘all‘], 123, 446]

?請根據索引輸出“Kelly”
print(li[2][1][1])
?請使用索引找到‘all‘元素並將其修改為“ALL”,如:li[0][1][9]...
print(li[2][2].upper())

5、寫代碼,有如下元組,請按照功能要求實現每一個功能
tu=(‘alex‘, ‘eric‘, ‘rain‘)
計算元組長度並輸出

long=len(tu)
print(long)

獲取元組的第2個元素,並輸出
print(tu[1])
獲取元組的第1-2個元素,並輸出
print(tu[:2])
請使用for輸出元組的元素

for i in tu:
    print(i)

請使用for、len、range輸出元組的索引

for i in range(len(tu)):
    print(i)

請使用enumrate輸出元祖元素和序號(序號從10開始)

for i,into in enumerate(tu):
    print(i+10,into)

6、有如下變量,請實現要求的功能

tu = ("alex", [11, 22, {"k1": ‘v1‘, "k2": ["age", "name"], "k3": (11,22,33)}, 44])
?講述元祖的特性
答:不可變,有序。元組內第一層元素不可變(如tu元組中的alex,k3,44)。第二層及以上可以通過深copy淺copy修改
?請問tu變量中的第一個元素“alex”是否可被修改?
答:不能被修改
?請問tu變量中的"k2"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素“Seven”

答:list,可修改
li=tu[1][2]["k2"]
li.append("Seven")
print(tu)

?請問tu變量中的"k3"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素“Seven”
答:tu變量中的k3對於的是tuple元組,不可以修改

7、字典
dic = {‘k1‘: "v1", "k2": "v2", "k3": [11,22,33]}
?請循環輸出所有的key

for i in dic.keys():
    print(i)

?請循環輸出所有的value

for i in dic.values():
    print(i)

?請循環輸出所有的key和value

for k,v in dic.items():
    print(k,v)

?請在字典中添加一個鍵值對,"k4": "v4",輸出添加後的字典

dic["k4"]="v4"
print(dic)
dic.setdefault("k4","v4")
print(dic)

?請在修改字典中“k1”對應的值為“alex”,輸出修改後的字典

dic["k1"]="alex"
print(dic)

?請在k3對應的值中追加一個元素44,輸出修改後的字典

dic["k3"].append(44)
print(dic)

?請在k3對應的值的第1個位置插入個元素18,輸出修改後的字典

dic["k3"].insert(0,18)
print(dic)

8、轉換
?將字符串s = "alex"轉換成列表
print(list(s))
?將字符串s = "alex"轉換成元祖
print(tuple(s))
?將列表li = ["alex", "seven"]轉換成元組

li = ["alex", "seven"]
print(tuple(li))

?將元祖tu = (‘Alex‘, "seven")轉換成列表

tu = (‘Alex‘, "seven")
print(list(tu))

?將列表li = ["alex", "seven"]轉換成字典且字典的key按照10開始向後遞增

li = ["alex", "seven"]
lis=[10,11]
print(dict(zip(lis,li)))

9、元素分類

有如下值集合[11,22,33,44,55,66,77,88,99,90],將所有大於66的值保存至字典的第一個key中,將小於66的值保存至第二個key的值中。

即:{‘k1‘:大於66的所有值, ‘k2‘:小於66的所有值}

li=[11,22,33,44,55,66,77,88,99,90]
max66=[]
mix66=[]
for i in li:
    if i >66:
        mix66.append(i)
    else:
        max66.append(i)
dic={}
dic["k1"]=mix66
dic["k2"]=max66
print(dic)

13、有兩個列表

x = [11,22,33]
y = [22,33,44]
l=[]
?獲取內容相同的元素列表

for i in x:
    if i in y:
        l.append(i)
print(l)

?獲取l1中有,l2中沒有的元素列表

for i in x:
    if i in y:
        pass
    else:
        l.append(i)
print(l)

?獲取l2中有,l3中沒有的元素列表
?獲取l1和l2中內容都不同的元素

14、利用For循環和range輸出
?For循環從大到小輸出1 - 100

?For循環從小到到輸出100 - 1

for i in range(100):
    print(i)

?While循環從大到小輸出1 - 100

?While循環從小到到輸出100 - 1

count=0
while count<100:
    if  count<=100:
        print(count)
    else:
        break
    count +=1

15、利用for循環和range輸出9 * 9乘法表

for n in range(1,10):
    for m in range(1,10):
        print("%s * %s = %s" %(n,m,n*m))
    print("")

2、查找列表中元素,移除每個元素的空格,並查找以a或A開頭並且以c結尾的所有元素。

li = ["alec", " aric", "Alex", "Tony", "rain"]

tu = ("alec", " aric", "Alex", "Tony", "rain")

dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"}

10、輸出商品列表,用戶輸入序號,顯示用戶選中的商品

商品li = ["手機", "電腦", ‘鼠標墊‘, ‘遊艇‘]
?允許用戶添加商品
?用戶輸入序號顯示內容

11、用戶交互顯示類似省市縣N級聯動的選擇
?允許用戶增加內容
?允許用戶選擇查看某一個級別內容

12、列舉布爾值是False的所有值

16、求100以內的素數和。(編程題)

17、將[1,3,2,7,6,23,41,24,33,85,56]從小到大排序(冒泡法)(編程)

【23】Python基礎筆記2