python 列表相加_人生苦短,我用Python

0c749fc9e446e9183189fd13a9dff3ea.png

一、安装数据分析环境

在学习Python之前,我们先安装两个软件:Anaconda 和 Jupyter notebook。

简单来说,Anaconda是包管理器和环境管理器,Jupyter notebook是一种Web应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。

具体安装步骤可以参考下面两个文档:

初学 Python 者自学 Anaconda 的正确姿势是什么?​www.zhihu.com
d0bc8c89ad2fd977c83bfa8c15b36666.png
jupyter notebook 可以做哪些事情?​www.zhihu.com
ba261557246de5cf32fd404a842e86c3.png

二、零基础入门Python

# (一)数据类型:字符串、数字、布尔、空值、容器(列表、元祖、集合、字典)
# 1.字符串
nameStr1 = 'Taylor '
nameStr2 = 'Swift'
print(nameStr1 + nameStr2)
>> Taylor Swift
 

# 2.数字
aInt = 3
bFloat = 3.6
print(aInt + bFloat)
>> 6.6
 

# 3.布尔(Bool)
aInt = 3
bInt = 2
aInt > bInt
>> True
 

# 4.空值(None)
 

# 5.容器之列表(List)
# 5.1定义列表
nameList = ['猴子','马云','王健林','马化腾']
print(nameList)
>> ['猴子', '马云', '王健林', '马化腾']
 

# 5.2列表长度
nameLen = len(nameList)
print(nameLen)
>> 4
 

# 5.3向列表中添加元素
nameList.append('刘强东')
print(nameList)
>> ['猴子', '马云', '王健林', '马化腾', '刘强东']
 

# 5.4删除列表中的元素(注:Python的索引是从0开始的)
del nameList[1]
print(nameList)
>> ['猴子', '王健林', '马化腾', '刘强东']
 

# 5.5查询列表中的元素
name1 = nameList[0]
print(name1)
>> 猴子
 

# 5.6修改列表中的元素
nameList[0]='孙悟空'
print(nameList)
>> ['孙悟空', '王健林', '马化腾', '刘强东']
 

# 6.容器之元祖(Tuple)
# 注:元祖是不可变的数据类型,只能查询其中的元素,不可以添加、删除、修改元素
# 6.1定义元祖
gafataTuple = ('腾讯','阿里巴巴','苹果','谷歌','Facebook','亚马逊')
print(gafataTuple)
>> ('腾讯', '阿里巴巴', '苹果', '谷歌', 'Facebook', '亚马逊')
 

# 6.2元祖长度
gafataLen = len(gafataTuple)
print(gafataLen)
>> 6
 

# 6.3查询元祖中的元素
gafata1 = gafataTuple[1]
print(gafata1)
>> 阿里巴巴
 

# 7.容器之集合(Sets)
# 注:集合是一个没有重复元素的容器,且集合是无序的,你不能试图去索引集合中的某一个元素
# 7.1定义集合
gafataSets = {'腾讯','阿里巴巴','苹果','谷歌','Facebook','亚马逊','亚马逊'}
print(gafataSets)
>> {'Facebook', '谷歌', '苹果', '亚马逊', '阿里巴巴', '腾讯'}
 

# 7.2定义一个空的集合
stockSets  = set()
print(stockSets)
>> set()
 

# 7.3向集合中添加元素
stockSets.update(['腾讯','阿里巴巴','京东'])
print(stockSets)
>> {'阿里巴巴', '腾讯', '京东'}
 

# 7.4删除集合中的元素
stockSets.discard('京东')
print(stockSets)
>> {'阿里巴巴', '腾讯'}
 

# 7.5判断某元素是否在集合中
'腾讯' in stockSets
>> True
 

# 8.容器之字典(Dictionary)
# 字典由多个键及其对应的值共同构成,字典的键是唯一的,每一对键值组合称为项
# 8.1定义字典
patientDict = {'001':'猴子','002':'马云','003':'王健林','004':'马化腾'}
print(patientDict)
>> {'001': '猴子', '002': '马云', '003': '王健林', '004': '马化腾'}
 

# 8.2向字典中添加元素
patientDict['005'] = '王思聪'
print(patientDict)
>> {'001': '猴子', '002': '马云', '003': '王健林', '004': '马化腾', '005': '王思聪'}
 

# 8.3删除字典中的元素
del patientDict['005']
print(patientDict)
>> {'001': '猴子', '002': '马云', '003': '王健林', '004': '马化腾'}
 

# 8.4查询字典中的元素
patient1 = patientDict['001']
print(patient1)
>> 猴子
 

# 8.5修改字典中的元素
patientDict['001'] = '孙悟空'
print(patientDict)
>> {'001': '孙悟空', '002': '马云', '003': '王健林', '004': '马化腾'}
 

# (二)条件判断
# 1.if……else……
scoreNum = 9.1
if scoreNum >= 8:
    print('我要去看这部电影')
else:
    print('烂片,不值得去看')
>> 我要去看这部电影
 

# 2.if……elif……else
age = 5
if age < 0:
    print('狗狗年龄不能小于0')
elif age == 1:
    print('相当于14岁的人')
elif age == 2:
    print('相当于22岁的人')
else:
    human = 22+(age-2)*5
    print('相当于'+str(human)+'岁的人')
>> 相当于37岁的人
 

# (三)循环:批量处理数据
# 1.for循环
'''
定义字典:6家公司(gafata)的股票
key是公司名称,value是股票代码
'''
gafataDict = {'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌':'GOOGLE','Facebook':'fb','亚马逊':'amzn'}
for key,value in gafataDict.items():
    newVlue = value.upper()
    gafataDict[key] = newVlue
print(gafataDict)
>> {'腾讯': 'HK:00700', '阿里巴巴': 'BABA', '苹果': 'APPLE', '谷歌': 'GOOGLE', 'Facebook': 'FB', '亚马逊': 'AMZN'}
 

# 2.while循环
patientNum = 5
while patientNum:
    print('还有'+str(patientNum)+'名病人')
    patientNum -= 1
print('病人全部康复!')
>> 还有5名病人
   还有4名病人
   还有3名病人
   还有2名病人
   还有1名病人
   病人全部康复!
 

# 3.continue用于跳出当前循环
gafataDict = {'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌':'GOOGLE','Facebook':'fb','亚马逊':'amzn'}
for key,value in gafataDict.items():
    if key == '苹果':
        continue
    print('当前公司:',key,',当前股票代码:',value)
>> 当前公司: 腾讯 ,当前股票代码: HK:00700
   当前公司: 阿里巴巴 ,当前股票代码: baba
   当前公司: 谷歌 ,当前股票代码: GOOGLE
   当前公司: Facebook ,当前股票代码: fb
   当前公司: 亚马逊 ,当前股票代码: amzn
 

# 4.break用于退出整个循环
gafataDict = {'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌':'GOOGLE','Facebook':'fb','亚马逊':'amzn'}
for key,value in gafataDict.items():
    if key == '苹果':
        break
    print('当前公司:',key,',当前股票代码:',value)
>> 当前公司: 腾讯 ,当前股票代码: HK:00700
   当前公司: 阿里巴巴 ,当前股票代码: baba
 

# (四)函数
'''定义函数
函数功能:两个数相加
输入:要相加的两个数
输出:两个数相加的和
'''
def add(x,y):
    z = x + y
    return z


# 以不带参数名的方式使用函数
a = 1
b = 2
c = add(a,b)
print('1和2相加等于',c)
>> 1和2相加等于 3
 

# 以带参数名的方式使用函数
a = 1
b = 2
c = add(x=a,y=b)
print('1和2相加等于',c)
>> 1和2相加等于 3
 

# 定义函数:改变数据的值
def changeInt(a):
    a = a + 1
'''
使用函数
当参数是不可变数据类型(字符串、元祖、数值)时,
传递的只是该数据类型的值(相当于复制一份)
'''
b = 1
print('调用函数之前b的值为',b)
changeInt(a=b)
print('调用函数之后b的值为',b)
>> 调用函数之前b的值为 1
   调用函数之后b的值为 1
 

# 定义函数:改变列表的值
def changeList(inputList):
    inputList.append('奶茶妹妹')
'''使用函数
当参数是可变数据类型时,
传递的是该变量的引用地址
'''
nameList = ['马云','刘强东']
print('调用函数之前的值:',nameList)
changeList(nameList)
print('调用函数之后的值:',nameList)
>> 调用函数之前的值: ['马云', '刘强东']
   调用函数之后的值: ['马云', '刘强东', '奶茶妹妹']
 

# (五)模块
# 如何使用Python内置模块
'''
方法一:import 模块
方法二:import 模块 as 别名
方法三:from 模块 import 函数名
'''
import sys
pathList = sys.path
print('Python的路径为:n',pathList)
>> Python的路径为:
   ['', 'D:softwareAnaconda3python36.zip', 'D:softwareAnaconda3DLLs', 'D:softwareAnaconda3lib', 'D:softwareAnaconda3', 'D:softwareAnaconda3libsite-packages', 'D:softwareAnaconda3libsite-packagesBabel-2.5.0-py3.6.egg', 'D:softwareAnaconda3libsite-packageswin32', 'D:softwareAnaconda3libsite-packageswin32lib', 'D:softwareAnaconda3libsite-packagesPythonwin', 'D:softwareAnaconda3libsite-packagesIPythonextensions', 'C:Usersliudandan.ipython']


# (六)数据结构
# 1.队列(queue)——先进先出
# 1.1定义队列:某餐厅排队吃饭的人的编号
from collections import deque
queue = deque(['001','002','003','004','005'])
print(queue)
>> deque(['001', '002', '003', '004', '005'])


# 1.2入队:在队列尾部插入元素
queue.append('006')
print(queue)
>> deque(['001', '002', '003', '004', '005', '006'])


# 1.3出队:删除队列头部的元素
queue.popleft()
print(queue)
>> deque(['002', '003', '004', '005', '006'])


# 2.栈(stack)——后进先出
# 2.1定义栈:浏览知乎个人主页的顺序
stack =['知乎动态','知乎回答','知乎文章']
print(stack)
>> ['知乎动态', '知乎回答', '知乎文章']


# 2.2入栈:在栈顶加入元素
stack.append('知乎专栏')
print(stack)
>> ['知乎动态', '知乎回答', '知乎文章', '知乎专栏']


# 2.3出栈:删除栈顶元素
stack.pop()
print(stack)
>> ['知乎动态', '知乎回答', '知乎文章']


# 3.排序字典(OrderedDict):按照插入key的顺序,对字典排序
from collections import OrderedDict
gafataOrdDict = OrderedDict({'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌':'GOOGLE','Facebook':'fb','亚马逊':'amzn'})
print(gafataDict)
>> {'腾讯': 'HK:00700', '阿里巴巴': 'baba', '苹果': 'Apple', '谷歌': 'GOOGLE', 'Facebook': 'fb', '亚马逊': 'amzn'}


# 4.计数器(Counter):具有统计的功能
from collections import Counter
cDict = Counter('我和我的祖国,一刻也不能分割~')
print(cDict)
>> Counter({'我': 2, '和': 1, '的': 1, '祖': 1, '国': 1, ',': 1, '一': 1, '刻': 1, '也': 1, '不': 1, '能': 1, '分': 1, '割': 1, '~': 1})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值