国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python】Python語言基礎(中)

這篇具有很好參考價值的文章主要介紹了【Python】Python語言基礎(中)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??博客主頁 iknow181
??系列專欄 Python、JavaSE、JavaWeb、CCNP
??歡迎大家點贊??收藏?評論?


【Python】Python語言基礎(中),Python,python,開發(fā)語言

目錄

第十章 Python的數(shù)據(jù)類型

基本數(shù)據(jù)類型

數(shù)字

整數(shù)

浮點數(shù)

浮點數(shù)的精度問題

布爾型

進制轉換

十進制轉其它進制

其他進制轉十進制

其它進制轉其它進制

數(shù)字的隨機

random()方法

randint()方法

randrange()方法

choice()方法

sample()方法

字符串

字符串的定義

字符串的方法

(1).將字符串的首字母大寫

(2).字符串全部字母大寫

(3).將字符串全部內字母全部改成小寫

(4).去除字符串的首部空白

(5).去除字符串的尾部空白

(6).去除字符串的所有空白

字符串的拼接

字符串與整數(shù)的切換

字符串轉整數(shù)

整數(shù)轉字符串

組合數(shù)據(jù)類型

列表

列表的定義

訪問列表中的元素值

確定列表的長度

列表的常見操作

列表的增加

列表的刪除

列表的修改

列表的查看

列表的排序

1.永久性排序(謹慎使用)

2.臨時性排序

3.反轉列表

列表解析式

列表和字符串之間的轉換

列表轉字符串

字符串轉列表

列表的切片

字符串的切片

可變數(shù)據(jù)類型與不可變數(shù)據(jù)類型

元組

元組的定義

元組元素值的修改

修改嵌套在元組里面的列表元素值

字典

字典的定義

字典規(guī)范化寫法

字典的操作

訪問字典中的值

向字典中添加鍵值對

刪除鍵值對

修改鍵值對

遍歷字典

字典的方法操作

1.清空所有鍵值對

2.根據(jù)key獲取value

3.更新現(xiàn)有字典中key的value

4.以列表形式返回可遍歷的(鍵,值)元組

5.將一個字典所有的鍵生成列表并返回

6.以列表返回字典中的所有值

7.獲取指定key的value,并刪除這個key的value

8.鍵值對一起彈出,彈出后變?yōu)樵M

字典的演練


第十章 Python的數(shù)據(jù)類型

基本數(shù)據(jù)類型

數(shù)字
整數(shù)
整數(shù)就是整數(shù)
浮點數(shù)
在編程中,小數(shù)都稱之為浮點數(shù)
浮點數(shù)的精度問題
print(0.1 + 0.2)
---------------
0.30000000000000004
?
?1.可以通過round()函數(shù)來控制小數(shù)點后位數(shù)
round(a + b),則表示結果不保留小數(shù)位部分
print(round(0.1 + 0.2))
---------------
0
?
round(a + b, x),表示將a+b的結果保留x位小數(shù)位。
print(round(0.1 + 0.2, 1))
----------------
0.3
?
2.格式化輸出
占位符
%d用于整數(shù)的占位符
%f用于浮點數(shù)的占位符
%s用于表示字符串的占位符
a = 5201314
b = 1314520
print("%d + %d的結果為%d" % (a, b, a+b))
----------------------
5201314 + 1314520的結果為6515834
 
%.2d:表示一共占2位,不足位補0,超過兩位就原樣輸出
%03d:表示一共占3位,不足位補0,超過三位原樣輸出。
%13d:表示一共占13位,不足為補空格,超過十三位原樣輸出。
?
a = 0.1
b = 0.2
print("%.1f + %.1f的結果為%.1f" % (a, b, a+b)) # %.1f表示只保留1位小數(shù)部分
-------------------------
0.1 + 0.2的結果為0.3
布爾型
0[False,None]
1[True]:所有的非0字符
進制轉換
十進制轉其它進制
(1).十進制轉二進制
bin()函數(shù)
用法:
    bin(十進制數(shù)值)
>>> bin(255)
'0b11111111'
>>> bin(32)
'0b100000'
?
(2).十進制轉八進制
oct()函數(shù)
用法:
    oct(十進制數(shù)值)
>>> oct(255)
'0o377'
>>> oct(25)
'0o31'
?
(3).十進制轉十六進制
hex()函數(shù)
用法:
    hex(十進制數(shù)值)
>>> hex(150)
'0x96'
>>> hex(250)
'0xfa'
其他進制轉十進制
(1).二進制轉十進制
int()函數(shù)
用法:int("二進制數(shù)值", 2)
print(int("1010", 2))
----------------------
10
?
(2).八進制轉十進制
int()函數(shù)
用法:int("八進制數(shù)值", 8)
print(int("15", 8))
--------------------
13
?
(3).十六進制轉十進制
int()函數(shù)
用法:int("十六進制數(shù)值", 16)
print(int("FF", 16))
--------------------
255
其它進制轉其它進制
二進制--->八進制
    先將二進制的數(shù)值轉換成十進制,再將十進制的數(shù)值轉換成八進制
 ? ?11000011 --- > 八進制
a = int("11000011", 2)
print(a)
b = oct(a)
print(b)
------------------------
或
print(oct(int("11000011", 2)))
--------------------
0o303
數(shù)字的隨機
random模塊:可以實現(xiàn)隨機的功能
import random
random()方法
.ranmdom()方法,表示隨機生成一個[0,1)的的隨機數(shù)
a = random.random()
print(a)
------------------------
0.06170779578031482
randint()方法
用于隨機生成一個[x,y]之間的一個整數(shù)
import random
b = random.randint(0, 1)
print(b)
----------------------
0/1
randrange()方法
用于隨機生成一個[x,y]范圍內且遞增基數(shù)為z的整數(shù)
用法:random.randrange(x, y, z)
import random
b = random.randrange(0, 10, 2)
print(b)
-----------------------------------
4
choice()方法
表示從某一個字符串中隨機挑選出一個字符
用法:
    random.choice("字符串")
import random
print(random.choice('Python'))
--------------------
P
sample()方法
從某一個字符串中隨機挑選出n個字符,并把它們放入列表中
用法:
    random.sample('字符串', n)
import random
print(random.sample('Python', 3))
-------------------
['y', 'o', 't']
請隨機生成一個合法的IPv4地址并輸出
import random
ip_address_1 = random.randint(1, 239)
ip_address_2 = random.randint(0, 255)
ip_address_3 = random.randint(0, 255)
ip_address_4 = random.randint(0, 255)
print("%d.%d.%d.%d" % (ip_address_1, ip_address_2, ip_address_3, ip_address_4))
print(ip_address_1, ip_address_2, ip_address_3, ip_address_4, sep='.')
----------------
182.13.178.37
182.13.178.37
字符串
在Python中,字符串必須用"" ''引起
字符串的定義
str1 = 'python'
print(str1)
print(type(str1))
----------------------
123
<class 'str'>
字符串的方法
(1).將字符串的首字母大寫

title()方法

str1 = 'python'
print(str1)
print(str1.title())
------------------------
python
Python
(2).字符串全部字母大寫

upper()方法

str1 = 'python'
print(str1)
print(str1.upper())
------------------------
python
PYTHON
(3).將字符串全部內字母全部改成小寫

lower()

str2 = 'NANCY'
print(str2)
print(str2.lower())
----------------------
NANCY
nancy
(4).去除字符串的首部空白

lstrip()方法

str3 = ' ? nihaohahahaha ? '
print(str3)
print(str3.lstrip())
--------------------------------
 ? nihaohahahaha ? 
nihaohahahaha ?
(5).去除字符串的尾部空白

rstrip()

str3 = ' ? nihaohahahaha ? '
print(str3)
print(str3.rstrip())
----------------------------------
 ? nihaohahahaha ? 
 ? nihaohahahaha
(6).去除字符串的所有空白

.strip()

str3 = ' ? nihaohahahaha ? '
print(str3)
print(str3.strip())
-------------------------------------
 ? nihaohahahaha ? 
nihaohahahaha
字符串的拼接
字符串之間使用"+"來進行拼接
但必須保證拼接的每一段都是字符串
str1 = 'I'
str2 = 'am'
str3 = '23'
print(str1 + " " + ?str2 + " " + str3)
----------------------------------------
I am 23
字符串與整數(shù)的切換
字符串轉整數(shù)

int()函數(shù)

num1 = '123'
print(num1)
print(type(num1))
num2 = int(num1)
print(num2)
print(type(num2))
--------------------------
123
<class 'str'>
123
<class 'int'>
整數(shù)轉字符串
str()函數(shù)
number1 = 12345
print(number1)
print(type(number1))
number2 = (str(number1))
print(number2)
print(type(number2))
------------------------------
12345
<class 'int'>
12345
<class 'str'>

組合數(shù)據(jù)類型

組合數(shù)據(jù)類型就是指將多個基本數(shù)據(jù)類型糅合在一塊,組成組合數(shù)據(jù)類型
組合數(shù)據(jù)類型:
    列表、元組、字典、集合
列表
列表的定義
[]:空列表
list1 = [] ? ?# 空列表
list2 = [1, 2, 'Hello'] ? ?# 定義一個列表
print(list2)
print(type(list2))
--------------------------------
[1, 2, 'Hello']
<class 'list'>
訪問列表中的元素值
索引
列表的索引都是從0開始,依次遞增的
訪問列表中的元素值的方法:
    list1[元素值所在的索引號]
list1 = [] ? ?# 空列表
list2 = [1, 2, 'Hello'] ? ?# 定義一個列表
print(list2[1])
------------------------------------
2
?
# 如果要快速到取到列表中最后一個索引的元素值,則可以將索引號置為-1
list2 = [1, 2, 3, 252, 253, 254, 210]
print(list2[-1])
-------------------------------
210
?
列表的嵌套:
list1 = [1, 2, ['A', 'B', 'C']]
print(list1[2][2])
-----------------------
C
確定列表的長度
len():用于確定列表的長度/ 用于確定列表中有多少個索引
list1 = [1, 2, ['A', 'B', 'C']]
print(len(list1)) ?
-------------------
3
列表的常見操作
# 列表的操作:增、刪、改、查
列表的增加
所謂列表的增,就是往列表中添加新的索引及其對應的元素值。
(1).append方法:
    在列表的末尾新增一個元素值
?

list2 = [1, 2, 3]
print(list2)
list2.append(4)
print(list2)
list2.append("A")
print(list2)
-------------------------
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3, 4, 'A']
?
(2).insert方法
    .insert(索引值, 元素值)
    可以在指定索引的位置,添加一個元素的值
?

list2 = [1, 2, 3]
print(list2)
list2.insert(2, 250)
print(list2)
--------------------------
[1, 2, 3]
[1, 2, 250, 3]
?
擴展:
如何使用.insert方法實現(xiàn).append方法的功能
    --->(如何使用insert方法總是在列表的末尾插入元素)
list2 = [1, 2, 3, 252, 253, 254, 210]
print(list2)
list2.insert(len(list2), 'A')
print(list2)
---------------------
[1, 2, 3, 252, 253, 254, 210]
[1, 2, 3, 252, 253, 254, 210, 'A']
列表的刪除
列表的刪,也就意味著將某個元素值從列表中刪除。
(1)del語句
    del list[索引值]
list2 = [1, 2, 3]
del list2[2]
print(list2)
del list2[0]
print(list2)
-------------------------------
[2]
?如果要使用del語句快速刪除列表中的最后一個元素,則可以使用del list[-1]的方式

list2 = [1, 2, 3, 210, 2, 3, 4, 5]
print(list2[-1]) ?# 用于確認是否可以取到最后一個元素值
del list2[-1]   # 刪除最后一個元素值
print(list2)
------------------------------
5
[1, 2, 3, 210, 2, 3, 4]
?
(2).pop方法
    list.pop()
 ?      如果括號內什么都不加,則默認彈出列表中的最后一個元素

list2 = [1, 2, 3, 210, 2, 3, 4, 5]
list2.pop()
print(list2)
 ? ? ? ?如果括號內加的是某個元素具體的索引號,則彈出這個索引號上的元素
list2 = [1, 2, 3, 210, 2, 3, 4, 5]
list2.pop(0)
print(list2)
---------------------------------
[2, 3, 210, 2, 3, 4, 5]
?
(3).remove()方法
    remove(元素值)
list2 = [1, 2, 3, 210, 2, 3, 4, 5]
print(list2)
list2.remove(210)
print(list2)
----------------------------------
[1, 2, 3, 210, 2, 3, 4, 5]
[1, 2, 3, 2, 3, 4, 5]
?
# 如果列表中存在多個值相同的元素時,則默認只會刪除索引靠前的元素
list2 = [1, 2, 3, 210, 2, 3, 4, 5]
print(list2)
list2.remove(2)
print(list2)
----------------------------------
[1, 2, 3, 210, 2, 3, 4, 5]
[1, 3, 210, 2, 3, 4, 5]
列表的修改
# 所謂列表的修改,就是指將列表中的某個元素值進行修改,不會大動干戈的去動整個列表。
# 先使用索引號取到原先索引的位置,然后直接進行賦值修改。
?
list[索引] = 元素值
list1 = [1, 2, 3]
print(list1)
list1[2] = 6
print(list1)
---------
[1, 2, 3]
[1, 2, 6]
列表的查看
列表的查看,也叫遍歷列表,就是將列表中的元素一個一個的打印出來。
?
控制結構,循環(huán)。
理解一下控制結構:
    所謂的控制結構,就是指不按照原先的順序執(zhí)行代碼
 ? ?
for 變量 in 集合:
 ? ?循環(huán)體代碼
?
(1).通過訪問列表元素來進行遍歷

---------------------------------
list1 = ['A', 'B', 'C', 1, 2, 3]
for i in list1:
 ? ?print(i)
print("查詢完成!")
--------------------------
A
B
C
1
2
3
查詢完成!
?
(2).通過索引值進行遍歷
range(n)函數(shù):可以生成[0,n-1]的整數(shù)
?

list1 = ['A', 'B', 'C', 1, 2, 3]
for i in list(range(6)):
 ? ?print(list1[i])
print("大功告成!")
---------------------------
A
B
C
1
2
3
大功告成!
?
(3)通過列表長度來遍歷列表

list1 = ['A', 'B', 'C', 1, 2, 3]
for i in list(range(len(list1))):
 ? ?print(list1[i])
print("大功告成!")
-----------------------
A
B
C
1
2
3
大功告成!
?
range()函數(shù)的補充: 
    range(x, y) # 生成從x開始,到y(tǒng)-1為止的整數(shù)
 ? ?range(x, y, z)# 生成從x開始,到y(tǒng)-1,且遞增基數(shù)為z的整數(shù)
?

range()函數(shù)的使用示例:
    生成192.168.1.0/24所有可用的IP地址并輸出
?
list1 = []
for i in range(1, 255):
 ? ?a = "192.168.1." + str(i) # 字符串拼接
 ? ?或
 ? ?# a = "192.168.1.%d " % i # 格式化輸出
 ? ?list1.append(a)
print(list1)
----------------------------
['192.168.1.1', '192.168.1.2', '192.168.1.3', '192.168.1.4', '192.168.1.5', '192.168.1.6', '192.168.1.7', '192.168.1.8', '192.168.1.9', '192.168.1.10', '192.168.1.11', '192.168.1.12', '192.168.1.13', '192.168.1.14', '192.168.1.15', '192.168.1.16', '192.168.1.17', '192.168.1.18', '192.168.1.19', '192.168.1.20', '192.168.1.21', '192.168.1.22', '192.168.1.23', '192.168.1.24', '192.168.1.25', '192.168.1.26', '192.168.1.27', '192.168.1.28', '192.168.1.29', '192.168.1.30', '192.168.1.31', '192.168.1.32', '192.168.1.33', '192.168.1.34', '192.168.1.35', '192.168.1.36', '192.168.1.37', '192.168.1.38', '192.168.1.39', '192.168.1.40', '192.168.1.41', '192.168.1.42', '192.168.1.43', '192.168.1.44', '192.168.1.45', '192.168.1.46', '192.168.1.47', '192.168.1.48', '192.168.1.49', '192.168.1.50', '192.168.1.51', '192.168.1.52', '192.168.1.53', '192.168.1.54', '192.168.1.55', '192.168.1.56', '192.168.1.57', '192.168.1.58', '192.168.1.59', '192.168.1.60', '192.168.1.61', '192.168.1.62', '192.168.1.63', '192.168.1.64', '192.168.1.65', '192.168.1.66', '192.168.1.67', '192.168.1.68', '192.168.1.69', '192.168.1.70', '192.168.1.71', '192.168.1.72', '192.168.1.73', '192.168.1.74', '192.168.1.75', '192.168.1.76', '192.168.1.77', '192.168.1.78', '192.168.1.79', '192.168.1.80', '192.168.1.81', '192.168.1.82', '192.168.1.83', '192.168.1.84', '192.168.1.85', '192.168.1.86', '192.168.1.87', '192.168.1.88', '192.168.1.89', '192.168.1.90', '192.168.1.91', '192.168.1.92', '192.168.1.93', '192.168.1.94', '192.168.1.95', '192.168.1.96', '192.168.1.97', '192.168.1.98', '192.168.1.99', '192.168.1.100', '192.168.1.101', '192.168.1.102', '192.168.1.103', '192.168.1.104', '192.168.1.105', '192.168.1.106', '192.168.1.107', '192.168.1.108', '192.168.1.109', '192.168.1.110', '192.168.1.111', '192.168.1.112', '192.168.1.113', '192.168.1.114', '192.168.1.115', '192.168.1.116', '192.168.1.117', '192.168.1.118', '192.168.1.119', '192.168.1.120', '192.168.1.121', '192.168.1.122', '192.168.1.123', '192.168.1.124', '192.168.1.125', '192.168.1.126', '192.168.1.127', '192.168.1.128', '192.168.1.129', '192.168.1.130', '192.168.1.131', '192.168.1.132', '192.168.1.133', '192.168.1.134', '192.168.1.135', '192.168.1.136', '192.168.1.137', '192.168.1.138', '192.168.1.139', '192.168.1.140', '192.168.1.141', '192.168.1.142', '192.168.1.143', '192.168.1.144', '192.168.1.145', '192.168.1.146', '192.168.1.147', '192.168.1.148', '192.168.1.149', '192.168.1.150', '192.168.1.151', '192.168.1.152', '192.168.1.153', '192.168.1.154', '192.168.1.155', '192.168.1.156', '192.168.1.157', '192.168.1.158', '192.168.1.159', '192.168.1.160', '192.168.1.161', '192.168.1.162', '192.168.1.163', '192.168.1.164', '192.168.1.165', '192.168.1.166', '192.168.1.167', '192.168.1.168', '192.168.1.169', '192.168.1.170', '192.168.1.171', '192.168.1.172', '192.168.1.173', '192.168.1.174', '192.168.1.175', '192.168.1.176', '192.168.1.177', '192.168.1.178', '192.168.1.179', '192.168.1.180', '192.168.1.181', '192.168.1.182', '192.168.1.183', '192.168.1.184', '192.168.1.185', '192.168.1.186', '192.168.1.187', '192.168.1.188', '192.168.1.189', '192.168.1.190', '192.168.1.191', '192.168.1.192', '192.168.1.193', '192.168.1.194', '192.168.1.195', '192.168.1.196', '192.168.1.197', '192.168.1.198', '192.168.1.199', '192.168.1.200', '192.168.1.201', '192.168.1.202', '192.168.1.203', '192.168.1.204', '192.168.1.205', '192.168.1.206', '192.168.1.207', '192.168.1.208', '192.168.1.209', '192.168.1.210', '192.168.1.211', '192.168.1.212', '192.168.1.213', '192.168.1.214', '192.168.1.215', '192.168.1.216', '192.168.1.217', '192.168.1.218', '192.168.1.219', '192.168.1.220', '192.168.1.221', '192.168.1.222', '192.168.1.223', '192.168.1.224', '192.168.1.225', '192.168.1.226', '192.168.1.227', '192.168.1.228', '192.168.1.229', '192.168.1.230', '192.168.1.231', '192.168.1.232', '192.168.1.233', '192.168.1.234', '192.168.1.235', '192.168.1.236', '192.168.1.237', '192.168.1.238', '192.168.1.239', '192.168.1.240', '192.168.1.241', '192.168.1.242', '192.168.1.243', '192.168.1.244', '192.168.1.245', '192.168.1.246', '192.168.1.247', '192.168.1.248', '192.168.1.249', '192.168.1.250', '192.168.1.251', '192.168.1.252', '192.168.1.253', '192.168.1.254']
列表的排序
列表的排序是指將列表中所有元素的值進行比較,按照一定的順序來進行排列。
升序:從小到大
降序:從大到小
1.永久性排序(謹慎使用)
.sort()方法
升序:
list1 = [1, 10, 3, 5, 2, 6]
print(list1)
list1.sort()
print(list1)
---------------------------
[1, 10, 3, 5, 2, 6]
[1, 2, 3, 5, 6, 10]
?
降序:
list1 = [1, 10, 3, 5, 2, 6]
print(list1)
list1.sort(reverse=True)
print(list1)
[1, 10, 3, 5, 2, 6]
[10, 6, 5, 3, 2, 1]
永久性排序結束后,列表就再也回不到之前的形態(tài)了。
如果要永久性排序,建議先備份原列表。
2.臨時性排序
sorted()函數(shù)
升序:
?list1 = [1, 10, 3, 5, 2, 6]
print(list1)
print(sorted(list1))
print(list1)
-----------------------------
[1, 10, 3, 5, 2, 6]
[1, 2, 3, 5, 6, 10]
[1, 10, 3, 5, 2, 6]
?
降序:
list1 = [1, 10, 3, 5, 2, 6]
print(list1)
print(sorted(list1, reverse=True))
print(list1)
---------------------
[1, 10, 3, 5, 2, 6]
[10, 6, 5, 3, 2, 1]
[1, 10, 3, 5, 2, 6]
3.反轉列表
.reverse()方法
    永久性反轉
list1 = [1, 10, 3, 5, 2, 6]
print(list1)
list1.reverse()
print(list1)
-----------------------
[1, 10, 3, 5, 2, 6]
[6, 2, 5, 3, 10, 1]
列表解析式
列表解析式一個固定格式的東西
    列表中存放的是一個變量的值,這個變量值在后面的循環(huán)中依次賦值
list1 = [i for i in range(2, 101, 2)] # 后面的for循環(huán)為i提供值
print(list1)
----------------------------------
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]
列表和字符串之間的轉換
列表轉字符串
列表轉字符串:
str()函數(shù)
list1 = ['CCIE']
print(list1)
print(type(list1))
str1 = str(list1)
print(str1)
print(type(str1))
-----------------------
['CCIE']
<class 'list'>
['CCIE']
<class 'str'>
?
?
list1 = ['C', 'C', 'I', 'E']
str1 = str(list1)
print(str1)
str2 = list1[0] + list1[1] + list1[2] + list1[3]
print(str2)
--------------------------
['C', 'C', 'I', 'E']
CCIE
字符串轉列表
list()函數(shù)
str1 = 'Putty'
print(str1)
print(type(str1))
list1 = list(str1)
print(list1)
print(type(list1))
----------------------------
Putty
<class 'str'>
['P', 'u', 't', 't', 'y']
<class 'list'>
列表的切片
當列表范圍過大,需要只取部分值的時候
list[起始索引:結束索引+1]
?
list1 = [i for i in range(2, 101, 2)]
print(list1)
list2 = list1[0:5]
print(list2)
list3 = list1[5:10]
print(list3)
-----------------------------------
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]
[2, 4, 6, 8, 10]
[12, 14, 16, 18, 20]
字符串的切片
方法一:先將字符串轉為列表,進行列表的切片,切完之后再轉回字符串

str1 = 'HappyNationalDay'
list1 = list(str1)
print(list(str1))
print(list1)
list2 = list1[0:5]
print(list2)
str2 = list1[0] + list1[1] + list1[2] + list1[3] + list1[4]
print(str2)
print(type(str2))
-----------------------------
['H', 'a', 'p', 'p', 'y', 'N', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'D', 'a', 'y']
['H', 'a', 'p', 'p', 'y', 'N', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'D', 'a', 'y']
['H', 'a', 'p', 'p', 'y']
Happy
<class 'str'>
?
?
字符串的方法:
    .join()方法
 ? ?將列表內的字符一一拼接
 ? ?

str1 = 'HappyNationalDay'
list1 = list(str1) ?# 將字符串轉為列表
list2 = list1[0:5] ?# 進行列表的切片 [起始索引:結束索引+1]
str2 = "" ? # 定義一個新的空字符串
str2 = str2.join(list2) ?# 使用join()方法將list2中的所有元素作為字符串, 填入str2中
print(str2)
----------------------------------
Happy
?
方法二:
直接對字符串進行切片,方法和列表類似,[起始索引:結束索引+1]

str1 = 'HappyNationalDay'
str2 = str1[0:5]
print(str2)
-----------------------------------
Happy
?
方法三:
split()方法,可以在指定的字符處切片
str1 = '192.168.11.128'
str2 = str1.split('.')
print(str2)
-----------------------------
['192', '168', '11', '128']
?
?
str1 = '192.168.11.128'
str2 = str1.split('.', maxsplit=1) ?# maxsplit用于控制切的次數(shù)
print(str2)
-------------------------------------
['192', '168.11.128']

可變數(shù)據(jù)類型與不可變數(shù)據(jù)類型

可變數(shù)據(jù)類型:列表,字典
不可變數(shù)據(jù)類型:元組。
描述性地址相同的是可變數(shù)據(jù)類型,描述性地址不相同的是不可變數(shù)據(jù)類型。
# id()函數(shù) 用于查看存放在內存中的地址
a = [1, 2, 3]
print(id(a)) ? ?# 查看a這個列表存儲在內存中的地址
-----------------
2439173331328 ? ?# 描述性地址
元組
元組的定義
元組的定義:()
tuple1 = () ? ?# 空元組
tuple2 = (1, 2, 3)
print(tuple2)
print(type(tuple2))
(1, 2, 3)
<class 'tuple'>
元組元素值的修改
元組不能直接修改元素值,但是列表可以
所以,可以先把元組轉成列表修改,修改完再轉回元組。
    列表轉元組:tuple(list)
 ? ?元組轉列表:list(tuple)
第一步,將元組轉為列表
tuple2 = (1, 2, 3)
list2 = list(tuple2)
print(list2)
print(type(list2))
?
第二步,在列表中進行元素值的修改
list2[2] = 300
print(list2)
?
第三步,將修改好元素的列表轉回為元組,輸出元組
tuple2 = tuple(list2)
print(tuple2)
print(type(tuple2))
---------------------------------------
[1, 2, 3]
<class 'list'>
[1, 2, 300]
(1, 2, 300)
<class 'tuple'>
修改嵌套在元組里面的列表元素值
tuple8 = (1, 2, [1, 2, 3])
print(tuple8)
tuple8[2][2] = 300
print(tuple8)
----------------------
(1, 2, [1, 2, 3])
(1, 2, [1, 2, 300])
字典
字典是組合數(shù)據(jù)類型中的可變數(shù)據(jù)類型
字典的組成:鍵值對
    一個鍵對應一個值
 ? ?一個鍵可以有多個值。
字典的定義
{}
dict1 = {} ?# 空字典
dict2 = {"R1": "192.168.1.1", "Mask": "/24"}
print(dict2)
-----------------------------------
{'R1': '192.168.1.1', 'Mask': '/24'}
字典規(guī)范化寫法
dict1 = {
 ? ?"device": "Cisco IOS-L3 Switch",
 ? ?"Description": "This is a Core-Switch",
 ? ?"Lo0 IP Address": "10.123.1.1",
 ? ?"Lo0 Mask": "255.255.255.0"
}
字典的操作
訪問字典中的值
通過鍵來訪問值
dict2 = {"R1": "192.168.1.1", "Mask": "/24"}
print(dict2["Mask"])
------------------------------------
/24
向字典中添加鍵值對
dict2 = {"R1": "192.168.1.1", "Mask": "/24"}
dict2["Description"] = "This is R1" ?# dict2["鍵"] = "值"
print(dict2)
-----------------------------
{'R1': '192.168.1.1', 'Mask': '/24', 'Description': 'This is R1'}
刪除鍵值對
del語句
dict1 = {} ?# 空字典
dict2 = {"R1": "192.168.1.1", "Mask": "/24"}
del dict2["R1"]
print(dict2)
-------------------------
{'Mask': '/24'}
修改鍵值對
通過訪問鍵,重新賦值。
dict2 = {"R1": "192.168.1.1", "Mask": "/24"}
dict2["R1"] = "10.1.1.1"
print(dict2)
--------------------------
{'R1': '10.1.1.1', 'Mask': '/24'}
遍歷字典
(1)遍歷所有的鍵值對
.items():可以遍歷字典中的所有鍵值對

for key, value in dict1.items():
 ? ?print("這是鍵:" + key)
 ? ?print("這是鍵:" + value)
----------------------------------
這是鍵:device
這是鍵:Cisco IOS-L3 Switch
這是鍵:Description
這是鍵:This is a Core-Switch
這是鍵:Lo0 IP Address
這是鍵:10.123.1.1
這是鍵:Lo0 Mask
這是鍵:255.255.255.0
?
?
(2).遍歷所有的鍵

for key in dict1.keys():
 ? ?print(key)
---------------------------
device
Description
Lo0 IP Address
Lo0 Mask
?
(3).遍歷所有的值
for value in dict1.values():
 ? ?print(value)
-----------------------------------
Cisco IOS-L3 Switch
This is a Core-Switch
10.123.1.1
255.255.255.0
字典的方法操作
1.清空所有鍵值對
.clear()方法:
dict1 = {
 ? ?"device": "Cisco IOS-L3 Switch",
 ? ?"Description": "This is a Core-Switch",
 ? ?"Lo0 IP Address": "10.123.1.1",
 ? ?"Lo0 Mask": "255.255.255.0"
}
print(dict1)
dict1.clear()
print(dict1)
------------------------
{'device': 'Cisco IOS-L3 Switch', 'Description': 'This is a Core-Switch', 'Lo0 IP Address': '10.123.1.1', 'Lo0 Mask': '255.255.255.0'}
{}
2.根據(jù)key獲取value
.get()方法,相當于是[]的增強版。
    如果get后面跟的鍵,在字典中存在且有對應值,則直接返回指。
    如果get后面跟的鍵,在字典不存在,則返回None而非報錯
dict1 = {
 ? ?"device": "Cisco IOS-L3 Switch",
 ? ?"Description": "This is a Core-Switch",
 ? ?"Lo0 IP Address": "10.123.1.1",
 ? ?"Lo0 Mask": "255.255.255.0"
}
device_id = dict1.get("device")
print(device_id)
------------------------
Cisco IOS-L3 Switch
3.更新現(xiàn)有字典中key的value
.update()方法
    使用新字典中的值替換舊字典中的值
dict1 = {
 ? ?"device": "Cisco IOS-L3 Switch",
 ? ?"Description": "This is a Core-Switch",
 ? ?"Lo0 IP Address": "10.123.1.1",
 ? ?"Lo0 Mask": "255.255.255.0"
}
dict2 = {
 ? ?"device": "Cisco IOS-L3 Switch",
 ? ?"Description": "This is a Core-Switch",
 ? ?"Lo0 IP Address": "10.1.1.1",
 ? ?"Lo0 Mask": "255.255.255.0"
}
dict1.update(dict2) ? ?# 用dict2來更新dict1
print(dict1)
------------------------------- 
{'device': 'Cisco IOS-L3 Switch', 'Description': 'This is a Core-Switch', 'Lo0 IP Address': '10.1.1.1', 'Lo0 Mask': '255.255.255.0'}
4.以列表形式返回可遍歷的(鍵,值)元組
.items()方法
dict2 = {
 ? ?"device": "Cisco IOS-L3 Switch",
 ? ?"Description": "This is a Core-Switch",
 ? ?"Lo0 IP Address": "10.1.1.1",
 ? ?"Lo0 Mask": "255.255.255.0"
}
key_value = dict2.items()
print(key_value)
----------------------------------
dict_items([('device', 'Cisco IOS-L3 Switch'), ('Description', 'This is a Core-Switch'), ('Lo0 IP Address', '10.1.1.1'), ('Lo0 Mask', '255.255.255.0')])
5.將一個字典所有的鍵生成列表并返回
.keys()方法
?
dict2 = {
 ? ?"device": "Cisco IOS-L3 Switch",
 ? ?"Description": "This is a Core-Switch",
 ? ?"Lo0 IP Address": "10.1.1.1",
 ? ?"Lo0 Mask": "255.255.255.0"
}
key = dict2.keys()
print(key)
-----------------------------------------
dict_keys(['device', 'Description', 'Lo0 IP Address', 'Lo0 Mask'])
?
6.以列表返回字典中的所有值
.values()方法
dict2 = {
 ? ?"device": "Cisco IOS-L3 Switch",
 ? ?"Description": "This is a Core-Switch",
 ? ?"Lo0 IP Address": "10.1.1.1",
 ? ?"Lo0 Mask": "255.255.255.0"
}
values = dict2.values()
print(values)
---------------------------------
dict_values(['Cisco IOS-L3 Switch', 'This is a Core-Switch', '10.1.1.1', '255.255.255.0'])
7.獲取指定key的value,并刪除這個key的value
.pop()方法    #彈出
    根據(jù)key彈出value
dict2 = {
 ? ?"device": "Cisco IOS-L3 Switch",
 ? ?"Description": "This is a Core-Switch",
 ? ?"Lo0 IP Address": "10.1.1.1",
 ? ?"Lo0 Mask": "255.255.255.0"
}
pop_key = dict2.pop("Description")
print(dict2)
print(pop_key)
--------------------
{'device': 'Cisco IOS-L3 Switch', 'Lo0 IP Address': '10.1.1.1', 'Lo0 Mask': '255.255.255.0'}
This is a Core-Switch
8.鍵值對一起彈出,彈出后變?yōu)樵M
.popitems()
dict2 = {
 ? ?"device": "Cisco IOS-L3 Switch",
 ? ?"Description": "This is a Core-Switch",
 ? ?"Lo0 IP Address": "10.1.1.1",
 ? ?"Lo0 Mask": "255.255.255.0"
}
print(dict2)
dict2.popitem()
print(dict2)
--------------------
{'device': 'Cisco IOS-L3 Switch', 'Description': 'This is a Core-Switch', 'Lo0 IP Address': '10.1.1.1', 'Lo0 Mask': '255.255.255.0'}
{'device': 'Cisco IOS-L3 Switch', 'Description': 'This is a Core-Switch', 'Lo0 IP Address': '10.1.1.1'}
字典的演練
請按照以下要求生成一個字典:
    字典中的鍵為R1、R2、R3、R4等共計50個(R1....R50)
 ? ?每個鍵對應的值為一個隨機生成的IP地址。
?
import random
dict1 = {}
for i in range(1, 51):
 ? ?ip_add_1 = random.randint(0, 239)
 ? ?ip_add_2 = random.randint(0, 256)
 ? ?ip_add_3 = random.randint(0, 256)
 ? ?ip_add_4 = random.randint(0, 256)
 ? ?ip_add = "%d.%d.%d.%d" % (ip_add_1, ip_add_2, ip_add_3, ip_add_4)
 ? ?key = "R" + str(i) ?或 ?key = "R%s" % i
 ? ?dict1[key] = ip_add
print(dict1)
--------------------- 
{'R1': '118.35.62.190', 'R2': '168.3.24.235', 'R3': '116.248.67.84', 'R4': '63.98.30.57', 'R5': '184.117.11.151', 'R6': '231.13.14.229', 'R7': '204.146.102.2', 'R8': '30.67.193.142', 'R9': '103.147.193.241', 'R10': '152.35.111.245', 'R11': '102.116.239.167', 'R12': '121.175.89.60', 'R13': '152.212.41.252', 'R14': '120.12.47.64', 'R15': '103.19.58.104', 'R16': '175.227.69.134', 'R17': '44.250.4.191', 'R18': '61.109.194.212', 'R19': '185.6.183.147', 'R20': '38.239.59.52', 'R21': '31.247.205.187', 'R22': '97.53.203.194', 'R23': '94.175.165.69', 'R24': '209.45.42.86', 'R25': '13.190.147.99', 'R26': '93.124.123.116', 'R27': '239.126.116.77', 'R28': '97.160.18.72', 'R29': '56.67.163.47', 'R30': '45.199.174.11', 'R31': '178.175.249.103', 'R32': '122.164.248.197', 'R33': '147.133.82.37', 'R34': '1.69.201.174', 'R35': '100.244.111.91', 'R36': '78.238.42.109', 'R37': '91.4.236.82', 'R38': '215.220.221.123', 'R39': '120.78.63.190', 'R40': '77.20.18.128', 'R41': '86.242.90.88', 'R42': '178.199.167.228', 'R43': '106.86.256.176', 'R44': '164.100.39.62', 'R45': '171.35.153.11', 'R46': '138.85.61.59', 'R47': '131.13.91.225', 'R48': '44.60.75.88', 'R49': '59.135.155.208', 'R50': '125.55.13.223'}

【Python】Python語言基礎(中),Python,python,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-712960.html

到了這里,關于【Python】Python語言基礎(中)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包