列表是最常用的Python數據類型,它可以作為一個方括號內的逗號分隔值出現。
列表的數據項不需要具有相同的類型
創建一個列表,只要把逗號分隔的不同的數據項使用方括號括起來即可
代碼理解:列表的索引,列表數據的增刪改,以及列表推導式的使用
# 列表
all_in_list=[0.3,'hello','True']
print('列表數據為:',end='')
print(all_in_list)
# 正向索引從開始
res=all_in_list[0]
print('all_in_list[0]的值為:',end='')
print(res)
# 反向所有從-1開始
res=all_in_list[-2]
print('all_in_list[-2]的值為:',end='')
print(res)
# 列表的切片,左閉右開
res=all_in_list[0:2]
print('all_in_list[0:2]的切片值為:',end='')
print(res)
# 末尾新增元素
all_in_list.append('hello world')
# 指定位置前插入元素,成為指定位置上的元素
all_in_list.insert(0,'pre-hello')
print('添加新元素後為:',end='')
print(all_in_list)
# 刪除元素
all_in_list.remove('hello world')
# 刪除前兩個元素
del all_in_list[:2]
print('刪除元素後為:',end='')
print(all_in_list)
# 修改元素值
all_in_list[0]=100
print('修改元素後為:',end='')
print(all_in_list)
# for循環
x=[]
for i in range(10):
x.append(i)
print('for循環添加元素後為:',end='')
print(x)
#列表推導式
b=[i for i in range(1,11)]
c=[i**2 for i in range(1,11)]
d=[i**2 for i in range(1,11) if i%2==0]
print('各個列表推導式的值為:',end='')
print(b)
print(c)
print(d)
#練習1:求曲邊梯形的面積
import math
n=10000
width=2*math.pi/n
# 方法一:利用for循環構建核心數據結構
x=[]
y=[]
for i in range(n):
x.append(i*width)
for i in x:
y.append(abs(math.sin(i)))
S=sum(y)*width
print('方法一曲邊梯形的面積為:',end='')
print(S)
# 方法二:利用列表推導式構建核心數據結構
s=[abs(math.sin(i*width))*width for i in range(n)]
print('方法二曲邊梯形的面積為:',end='')
print(sum(s))
代碼運行結果
Python語言常用以下類型的運算符:算術運算符、比較關系操作符、賦值操作符、邏輯操作符
代碼理解:邏輯控制符、字符串的包含in、條件判斷語句、冒泡排序的交換值操作
# Python邏輯控制符
res=1<2
print('1<2的正確性:',end='')
print(res)
res=1<2<3
print('1<2<3的正確性:',end='')
print(res)
res='Name'=='name'
print("'Name'=='name'的正確性:",end='')
print(res)
res='M' in 'magic'
print("'M'在'magic'裡的正確性:",end='')
print(res)
# 條件判定語句
if 1<2:
print('如果1<2正確,則輸出:', end='')
print('1.hello')
if 1<0:
print('如果1<0正確,則輸出:', end='')
print('2.hello')
else:
print('如果1<0不正確,則輸出:', end='')
print('2.world')
if 1<0:
print('如果1<0正確,則輸出:', end='')
print('3.hello')
elif 2<1:
print('如果1<0不正確,但2<1正確,則輸出:', end='')
print('3.world')
else:
print('如果1<0不正確,且2<1也不正確,則輸出:', end='')
print('3.hehe')
# 冒泡排序
x=[1,2,6,0.3,2,0.5,-1,2.4]
print('冒泡排序前值為:', end='')
print(x)
n=len(x)
for i in range(n):
for j in range(i):
if x[j]>x[i]:
# 交換值
x[i],x[j]=x[j],x[i]
print('冒泡排序後值為:', end='')
print(x)
代碼運行結果
字典是另一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值 key:value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 ,格式如下所示:d = {key1 : value1, key2 : value2 }
代碼理解:根據字典索引值,修改值,添加值,刪除值,以及字典推導式生成字典
# 字典
dic={'h':'hello',0.5:[0.2,0.3],'w':'world'}
print('字典數據為:',end='')
print(dic)
#根據鍵索引值
res=dic['h']
print("dic['h']對應的值為:",end='')
print(res)
# 根據鍵修改一個元素
dic['h']=100
print("修改後的字典為:",end='')
print(dic)
# 添加一個元素
dic['hw']='hello world'
print("添加一個鍵值後的字典為:",end='')
print(dic)
# 同時添加多個元素
dic.update({1:2,3:4})
print("添加多個鍵值後的字典為:",end='')
print(dic)
# 根據鍵刪除某個元素
del dic['h']
print("刪除鍵值後的字典為:",end='')
print(dic)
# 字典推導式
a={i:i**2 for i in range(10)}
print("使用字典推導式生成的字典為:",end='')
print(a)
代碼運行結果
字符串是 Python 中最常用的數據類型。我們可以使用引號 ( ' 或 " ) 來創建字符串。
創建字符串很簡單,只要為變量分配一個值即可。
代碼理解:字符串帶換行和不帶換行的兩種生成方式、字符串的索引,拼接基本操作、字符串分割、字符串全轉為小寫
# 字符串,雙引號字符串和單引號無區別
string="My name"
print('生成的字符串為:'+string)
# 三引號可以進行換行
string='''My
name
'''
print('生成的有換行的字符串為:'+string)
string='My name'
print('單引號與雙引號生成的字符串相同,它為:'+string)
print(string)
# 索引字符串第一個元素
print('字符串第一個元素為:'+string[0])
# 索引字符串前兩個元素
print('字符串前兩個元素為:'+string[:2])
# 重復兩次字符串
print('重復兩次字符串為:'+string*2)
# 拼接字符串
print('拼接字符串為:',end='')
print(string+' is xxx')
# 分割字符串,根據逗號進行分割, 返回結果為列表
res=string.split(sep=',')
print('根據逗號進行分割字符串後為:',end='')
print(1,string)
# 將字符串字母全部變成小寫
res=string.lower()
print('將字符串字母全部變成小寫為:',end='')
print(res)
代碼運行結果
代碼理解
# 文件操作
f=open("Walden.txt","r")
# 讀取文件內容
txt=f.read()
print(txt)
# 讀取文件內容的前100行
txt=f.read(100)
print(txt)
f.close()
# 逐行讀取文件內容,並返回列表
f=open("Walden.txt","r")
txt_lines=f.readlines()
print(txt_lines)
f.close()
#練習3:讀取小說中的單詞頻次
import re
f=open("Walden.txt","r")
# 讀取進來的數據類型是字符串
txt=f.read()
f.close()
# 將字符串中字符變為小寫
txt=txt.lower()
# 去除小說中的標點符號
txt=re.sub('[,.?:“\’!-]','',txt)
# 單詞分割
words=txt.split()
word_sq={}
for i in words:
if i not in word_sq.keys():
word_sq[i]=1
else:
word_sq[i]+=1
# 排序
res=sorted(word_sq.items(),key=lambda x:x[1],reverse=True)
print(res)
你可以定義一個由自己想要功能的函數,以下是簡單的規則:
代碼理解
#函數自定義
#第一種方式
def Sum(x,y):
return x+y
# 第二種方式,函數的簡單自定義
# 返回x的平方
y=lambda x:x**2
# 返回x的第一個元素
y1=lambda x:x[1]
res=Sum(1,2)
print(res)
res=y(10)
print(res)
res=y1(['hello',0])
print(res)
#練習4:自定義求序列偶數個數的函數
def su(x):
z=0
for i in x:
if i%2==0:
z+=1
return z
res=su([1,2,3,4,5,6])
print(res)
面向對象的一些基本特征:
代碼理解
# 方法與函數的區別
all_in_list=[2.5,'hello','world',3]
string='My name'
all_in_list.append('hehe')
#對於字符串對象而言,是沒有append方法的
#string.append('Y’)
res=string.split()
# split是一個方法,是字符串對象才有的一種方法
#all_in_list.split()
print(all_in_list)
print(res)
# 面向對象
class Human:
def __init__(self,ag=None,se=None):
# 類的屬性
self.age=ag
self.sex=se
# 類的方法
def square(self,x):
return x**2
zhangfei=Human(ag=23,se='男')
res=zhangfei.square(10)
print(res)
res=zhangfei.age
print(res)
res=zhangfei.sex
print(res)
Python基礎知識 一.初識基本數據類型 類型: int(整型) 在32位機器上,整數的位數為32位,取值范圍為-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
以下內容,作為python基礎知識的補充,主要涉及基礎數據類型的創建及特性,以及新數據類型Bytes類型的引入介紹
python 基礎知識(一) 一.python發展介紹 Python的創始人為Guido van Rossum.1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本 ...
python基礎知識講解——@classmethod和@staticmethod的作用 在類的成員函數中,可以添加@classmethod和@staticmethod修飾符,這兩者有一定的差異,簡單來 ...
本次python爬蟲百步百科,裡面詳細分析了爬蟲的步驟,對每一步代碼都有詳細的注釋說明,可通過本案例掌握python爬蟲的特點: 1.爬蟲調度入口(crawler_main.py) # coding: ...
摘要:偶然機會接觸到python語音,感覺語法簡單.功能強大,剛好朋友分享了一個網課<python 爬蟲與數據可視化>,於是在工作與閒暇時間學習起來,並做如下課程筆記整理,整體大概分為4個 ...
接觸python已有一段時間了,下面針對python基礎知識的使用做一完整梳理:1)避免‘\n’等特殊字符的兩種方式: a)利用轉義字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春藥# @Email : [email protected]# @Fi ...
Python基礎知識(Basic knowledge) 1.認識Python&基礎環境搭建 2.Python基礎(上) 3.Python基礎(中) 4.Python基礎(下) 5.Python ...
1.Python簡介 1.1.Python介紹 python的創始人為吉多·范羅蘇姆(Guido van Rossum).1989年的聖誕節期間,吉多·范羅蘇姆(中文名字:龜叔)為了在阿姆斯特丹打發時 ...
1089 最長回文子串 V2(Manacher算法) 基准時間限制:1 秒 空間限制:131072 KB 分值: 0 難度:基礎題 收藏 關注 回文串是指aba.abba.cccbccc.aaaa ...
link: http://blog.okbase.net/haobao/archive/62.html by: 好飽 我們需要在XML與實體類,DataTable,List之間進行轉換,下面是XmlU ...
Problem Description 雖然草兒是個路癡(就是在杭電待了一年多,居然還會在校園裡迷路的人,汗~),但是草兒仍然很喜歡旅行,因為在旅途中 會遇見很多人(白馬王子,^0^),很多事,還能豐 ...
本主題包含有關 Windows Presentation Foundation (WPF) 版本 4.5 中的新增功能和增強功能的信息. 本主題包含以下各節: 功能區控件 改善性能,當顯示大時設置分組 ...
spring-data-mongodb一個系統xml文件裡面配置兩個數據源 參考文檔如下: http://www.iteye.com/problems/92789 http://stackoverfl ...
一.關於起因 最近在Office的QQ群裡問如何在一串字符串中提取數值並加總的問題.如果使用正則表達式可以非常迅速的解決這個問題. 那麼今天我就探討一下在VB6/VBA中使用正則表達式的方法及代碼,另 ...
time & datetime模塊 import timeimport datetime# ## # print("ss")# #time.sleep(5)# # prin ...
概述 該Demo旨在部署一個簡單spring boot工程,包含數據編輯和查看功能 POM配置 <?xml version="1.0" encoding="UTF- ...
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1 ...
原始出處:www.cnblogs.com/Charltsing/p/CellLight.html QQ:564955427 Excel單元格行列指示的實現原理(俗稱聚光燈功能) 單元格行列指示功能在錄 ...