您的位置:首页 > 编程语言 > Python开发

Python学习3——数据类型、字符串、列表、元组、字典、运算符

2019-01-25 16:20 731 查看

转载 原文Python学习之路【第二篇】-pyc简介、Python常用的数据类型及其用法和常用运算符https://www.geek-share.com/detail/2699148260.html

1、数据类型

[code]#!/usr/bin/env python
# -*- coding:utf-8 -*-
print(type(2/3))        # <class 'float'>
print(type(2*3))        # <class 'int'>
print((1+2)>3)          # False
print((1+2)==3)         # True

2、字符串

[code]#!/usr/bin/env python
# -*- coding:utf-8 -*-
# strip去除首尾特殊字符
a=" This is a book.\n"
print(a)
a=a.strip()
print(a)

# split按指定分隔符分割字符串
b="Alex Bob Jack HH"
print(b)
b=b.split(" ")
print(b)

# join按指定分隔符连接字符串'sep'.join(seg)
print(' '.join(b))

# format格式转换1
c1="Hi {name}, Let's {do_something}"
d1=c1.format(name='Jack',do_something='python')
print(d1)
# format格式转换2
c2="Hi {0},Let's {1}"
d2=c2.format('Jack','python')

# [:]切片
e="Let's python"
print(e[6:])
print(e[:])
print(e[0:4])

# center字符串居中,均匀填充str.center(length,"char")
print(e.center(20,"*"))
print(e.center(19,"*"))

# find查找字符串首次出现位置
print(e.find("L"))
print(e.find('t'))

# 判断字符串的格式和内容
# isalnum 判断字符串是否有字母和数字组成
# startswith 判断是否以某个字符开头
# endswith 判断是否以某个字符结束
# lower 所有字母转换成小写
# upper 所有字母转换成大写
f="23edtg9v%"
print(f.isalnum())
print(f.startswith("2"))
print(f.endswith("e"))
print(f.lower())
print(f.upper())

3、列表1

[code]#!/usr/bin/env python
# -*- coding:utf-8 -*-
list1=[]
list2=[1,2,3]
print(list1)
print(list2)

# 访问list里的元素1
print(list2[0])
print(list2[1])
print(list2[2])
print(list2[-1])
print(list2[-2])

# 访问list里的元素2(切片)
print(list2[0:3])
print(list2[1:2])
print(list2[1:-1])
print(list2[:])

# 连续切片操作访问元素
name=["Jack","Tim","Jessie","Frank","Mr=Merry"]
print(name[1:4])
print(name[1:4][1])
print(name[1:4][1][:4])
print(name[1:4][1][:4][1])

# 修改某个元素的值
name[0]="Jim"
print(name[0])
print(name[:])
name.insert(1,"Tim1")
print(name[:])

# append追加元素到末尾
name.append("Tim2")
print(name[:])
# 对于定义的空数组,第一次复制时一定要使用append方法追加,如果使用定义列表的方法复制就会报错

# 删除元素(remove)
name.remove("Tim2")
print(name[:])

# 删除元素(pop)
name.pop(1)
print(name[:])

# 删除元素(del)
del name
print(name[:])

# 步长,默认为1
name=['Jack', 'Jim', 'Tim', 'Jessie', 'Frank', 'Merry']
print(name[::])
print(name[::3])

4、列表2

[code]#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 判断某个元素是否在列表中in
name=['Jack', 'Jim', 'Tim', 'Jessie', 'Frank', 'Merry']
print("Alex" in name)
print('Alex' not in name)

# 获取元素索引位置index
print(name.index('Jack'))
print("The index is : %s"%name.index("Jack"))

# 统计元素出现次数count
print(name.count("Jack"))

# 合并list,extend
list1=[1,2,3,"Jack"]
list2=[4,5,"Jim"]
list1.extend(list2)
print(list1)

# 正向排序sort
list3=[1,3,5,2,6,5]
list3.sort()
print(list3)

# 列表反转reverse
print(list3)
list3.reverse()
print(list3)

# list的嵌套
list4=[1,1,2,[5,2,5],4]
print(list4[3][:])

# 浅copy,第一层元素独立,嵌套元素共享内存空间
list5=list4.copy()
print(list5)
list5[3][0]=100
print(list5)
print(list4)
print(id(list4[3]))
print(id(list5[3]))
print(id(list4))
print(id(list5))

# 深copy,deepcopy,两者完全独立,需要导入copy,浅copy中list.copy()相当于copy.copy()
import copy
print(list4)
list6=copy.deepcopy(list4)
print(list6)

# 列表遍序1,不能打印索引
for i in list6:
print(i)

# 列表遍序2,同时打印索引enumerate
for i,j in enumerate(list6):
print(i,j)

5、元组

[code]#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 一旦定义后不可更改对元素的指向(并非元素一旦定义就不可更改),相当于只读列表
# 元组只支持count和index函数,也可以通过索引来获取元素
# 元组定义1
members=("Jack","Bob","Frank")
print(members)
# 元组定义2,tuple
language=tuple(("C","C++","PYTHON"))
print(language)
# index和count
print(members.index("Bob"))
print(language.count("C"))

6、字典

[code]# 唯一映射类型,采用键值对(key-value)的形式存储数据
# 无序存储,python对key进行哈希函数运算,根据结果决定value存储地址
# key必须可哈希,即不可变,同一个key必须唯一

# 定义
dict={"name":"Alex","age":"25","sex":"boy","address":"beijing"}
print(dict)

# 常用操作
# 访问
print(dict["name"])
# 更新
dict["sex"]="male"
print(dict["sex"])
# 删除1(del)
del dict["address"]
print(dict)
# 删除1(pop)
dict.pop("age")
print(dict)

# 获取字典长度,key值对的个数,len
print(len(dict))

# 常用内置方法
# keys  --以列表形式返回字典的所有key
print(dict.keys())
# values  --以列表形式返回字典的所有value
print(dict.values())
# items --返回一个包含键值元组的列表
print(dict.items())
# get --返回指定key对应的value,若key不存在则返回默认指定的值,判断key值是否存在
print(dict.get("age",24))
# setdefault --若key在字典中存在,则用默认值覆盖更新原值,否则直接添加键值对到原字典中
dict.setdefault("age",22)
print(dict)
# update --将字典dict2的键值对复制添加到字典dict1中
dict1={'Name':'Alex','Sex':'Male','Add':'Beijing'}
dict2={1:'Beijing',2:'Shanghai',3:'Guangzhou'}
dict1.update(dict2)
print(dict1)

# 字典与列表对比
# 字典占用大量内存,插入和查找速度极快,不会随着key的增加而变慢
# 列表查找和插入的时间随着元素的增加而增加,占用空间小,内存浪费少
# 综上,字典是在用空间换取时间(执行效率)

7、常用运算符

[code]#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 数据运算+,-,*,/,**,%,//(加减乘除幂取整取余)
print("5+2=%s"%(5+2),"5-2=%s"%(5-2),"5*2=%s"%(5*2),"5**2=%s"%(5**2))
print("5%%2=%s"%(5%2),"5//2=%s"%(5//2))

# 比较运算==,!=,>,<,<=,>=,<>

# 赋值运算=,+=,-=,*=,/=,**=,%=,//=

# 逻辑运算and,or,not

# 成员运算in,not in

# 身份运算is,is not

# 按位运算&,|,^,>>,<<,~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐