python编程基础学习(二)

python编程基础学习(二)

一、基础数据类型详解

以下操作在pycharm中进行,自行安装即可

(1.)字符串

字符串是由一组字符、数字或者下划线组成的的字符,如下:

str = "dd11_ss"
(1.1)字符串截取

字符串的取值方法,从左到右(从0开始),从右到左(从-1开始),通过下标进行获取。如下:

str = "dd11_ss"
b = str[1:4]
c = str[-3:-1]
print (b)
print (c)
##输出结果
d11
_s
(1.2)字符串拼接

可以通过“+”好进行字符串的拼接,如下:

str1 = "2222222"
str2 = "1111111"

print (str1 + str2)
##输出结果
22222221111111

可以通过“*” 指定重复字符串出现的遍数,如下:

str1 = "2222222"
str2 = "1111111"

print (str1 * 3)
##输出结果
222222222222222222222
(2.)列表

列表用于存储通过某种方式组成的数据元素的集合,支持字符串、数字、字符,也可以进行列表嵌套,是python最常用的复合数据类型,通过”[]“进行标识,从做到右依次下标为0,1,2,格式如下:

a = [ '1','2','3','4']
print(a)
##输出结果
['1', '2', '3', '4']
(2.1)列表添加数据

append 在列表末尾添加元素,extend,将其他列表扩展到该列表中,insert指定下标添加元素,+ 两个列表相加,如下:

a = [ '1','2','3','4']
a.append(100)
print(a)
##append输出结果
['1', '2', '3', '4', 100]
a = [ '1','2','3','4']
b = ['5','6','7','8']
a.extend(b)
print(a))
##extend输出结果
['1', '2', '3', '4', '5', '6', '7', '8']
a = [ '1','2','3','4']
a.insert(1,100)
print(a)
##inert输出结果
['1', 100, '2', '3', '4']
a = [ '1','2','3','4']
b = ['5','6','7','8']
print(a + b)
##"+" 输出结果
['1', '2', '3', '4', '5', '6', '7', '8']
(2.2)列表删除数据

del 通过指定下标删除列表中的数据,remove 通过指定列表中的元素值删除(如果有多个,只删除第一个) pop根据指定下标删除并返回删除的元素值,如下:

a = [ '1','2','3','4']
del a[1]
print(a)
##”del“ 输出结果
['1', '3', '4']
a = [ 'ma','xiao','wei','wei','ha']
a.remove('wei')
print (a)
##"remove" 输出结果,注意remove('value')
['ma', 'xiao', 'wei', 'ha']
a = [ 'ma','xiao','wei','wei','ha']
a.pop(1)
print (a)
##"pop" 根据下标删除,并返回删除的内容,在交互式内显示区别
['ma', 'wei', 'wei', 'ha']
##删除整个列表
del a
(2.3)列表查找数据

查数据主要通过四种方式进行查找 in、not in、index、count也算一种,如下:

(1)、
a = [ 'ma','xiao','wei','wei','ha']
print (a.index('wei'))
##输出结果
2
(2)、
a = [ 'ma','xiao','wei','wei','ha']
print (a.index('wei',0,3))
##输出结果
2

两者区别在于(2)指定了查找的范围,涉及到切片的知识,稍后会做解释

a = [ 'ma','xiao','wei','wei','ha']
print (a.count('ma'))
##”count“统计次数,变相查看存不存在输出结果
1
a = [ 'ma','xiao','wei','wei','ha']
print ('ma' in a)
print ('ma' not in a)
##输出结果
True
False

涉及布尔类型的数据,存在则为真,不存在则为假

(2.4)列表修改数据

通过下标进行修改

a = [ 'ma','xiao','wei','wei','ha']
a[1]="1"
print(a)
(2.4)列表排序

倒序

a = ['1','2','3','4']
b = ['1','3','5','10']
a.reverse()
b.reverse()
print (a)
print (b)
##输出结果
['4', '3', '2', '1']
['10', '5', '3', '1']

排序后倒序

b = ['1','8','5','9']
b.sort(reverse=True)
print (b)
##输出结果
['9', '8', '5', '1']

正序

b = ['1','8','5','9']
b.sort()
print (b)
##输出结果
['1', '5', '8', '9']
(2.4)列表max、min、len
b = ['1','8','5','9']

print (max(b)) #列表中最大的数值
print (min(b)) #列表中最小的数值
print (len(b)) #列表中存在的数值个数
##输出结果
9
1
4
(3.)切片

在Python中,像字符串(str)、列表(list)、元组(tupple)、numpy ndarray等都支持切片操作。

同时,字符串、列表、元组的索引可以从正数的0开始从左向右(正序),也可以从负数的-1开始从右向左(逆序)
左闭右开,格式如下:

a[start:stop:step]

start:起始位置
stop:终止位置(不包括)
step:步长(默认为1)
例如:

a = [ 'ma','xiao','wei','wei','ha']
print(a[0:4:2])
print(a[0:4])
##结果
['ma', 'wei']
['ma', 'xiao', 'wei', 'wei']

第一个print:从index 0开始 到index 4 结束 步长为2:先输出index 0 因为步长为2 所以输出index 3 到index 4 结束,不满足步长2 因此输出 index0 和index 3
第二个print: 没有步长,从index0 开始到index 4 结束 所以输出的为0,1,2,3

(4.)元组

元组跟列表类似,区别在于元组的元素不可改变,即不能进行二次赋值,相当于只读列表,但是如果元组中含有列表,那么可以修改列变中的数据,通过index[列表在元组的下标][元素在列表中的下标]获取

注意: 当元组只有一个值时,必须以”,“结尾

(4.1)获取元组中的数据

通过下标获取

a = ('a','b','c')
b = ('d','e','f','g')

print(a[0])
print(b[0])
##输出结果
a
d
(4.2)元组合并、拼接
a = ('a','b','c')
b = ('d','e','f','g')

print (a + b)
##输出结果
('a', 'b', 'c', 'd', 'e', 'f', 'g')
(4.3)元组和列表之间的转换

元组转换为列表

a = ('a','b','c')

c = list(a)
print (c)
##输出结果
['a', 'b', 'c']

列表转换为元组

b = ['1','2','3']
a = tuple(b)

print(a)
##输出结果
('1', '2', '3')
(4.4)元组的切片、max、len、min
b = ('1','2','3')

print(len(b))   #个数
print (max(b))  #最大值
print(min(b))   #最小值
print(b[0:1:1])  #切片
##输出结果
3
3
1
('1',)
(5.)字典

字典是python常用的数据结构,用于存放数值之间的映射即,key-value,列表和元组都可以作为字典的数据,可以根据指定键来获取相应的值,字典是无序的,例如:

dict1 = {'name':'ma','max':'20','min':'10'}
print (dict1)
##输出结果
{'name': 'ma', 'max': '20', 'min': '10'}
(5.1)获取字典中的数据

通过keys values 获取字典内所有的数据,如下:

dict1 = {'name':'ma','max':'20','min':'10'}
b = dict1.keys()
c = dict1.values()
d = dict1.items()
print (b)
print (c)
print (d)
##输出结果
dict_keys(['name', 'max', 'min'])
dict_values(['ma', '20', '10'])
dict_items([('name', 'ma'), ('max', '20'), ('min', '10')])

通过key获取相应的values

dict1 = {'name':'ma','max':'20','min':'10'}

c = dict1['name']
print (c)
##输出结果
ma
(5.1)添加、修改字典中的数据

如果key存在那么会改变相应的values,如果key不存在会直接添加到字典里,如下:

dict1 = {'name':'ma','max':'20','min':'10'}

dict1['class'] = '10'
print (dict1)
##输出结果
{'name': 'ma', 'max': '20', 'min': '10', 'class': '10'}
dict1 = {'name':'ma','max':'20','min':'10'}

dict1['name'] = 'MM'
print (dict1)
##输出结果
{'name': 'MM', 'max': '20', 'min': '10'}
(5.2)删除、判断字典中的数据

通过del 可以删除key 以及字典,通过in、not in 判断是否存在key,如下:

dict1 = {'name':'ma','max':'20','min':'10'}

del dict1['name']
print (dict1)
##输出结果
{'max': '20', 'min': '10'}
dict1 = {'name':'ma','max':'20','min':'10'}

dict1.pop('max')
print (dict1)
##输出结果
{'name': 'ma', 'min': '10'}
dict1 = {'name':'ma','max':'20','min':'10'}

print ('name' in dict1)
##输出结果
True
dict1 = {'name':'ma','max':'20','min':'10'}

print ('name' not in dict1)
##输出结果
False
(5.2)字典的其他方法,get update 等

在交互模式下输入dir(dict),如下:

>>> dir(dict)
['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues']

**clear() **: 清空字典

dict1 = {'name':'ma','max':'20','min':'10'}

print (dict1)
dict1.clear()
print (dict1) 
##输出结果
{'name': 'ma', 'max': '20', 'min': '10'}
{}

get(): 获取values,不存在返回none

dict1 = {'name':'ma','max':'20','min':'10'}

print (dict1.get('name'))
print (dict1.get('haha'))
##输出结果
ma
None

update():更新已存在的字典的key\value,如果不存在那么将会添加到字典中

dict1 = {'name':'ma','max':'20','min':'10'}
dict2 = {'name':'ma','max':'20','min':'10'}
dict1.update({'name':'mama'})
dict2.update({'haha':'aaaa'})
print(dict1)
print(dict2)
##输出结果:
{'name': 'mama', 'max': '20', 'min': '10'}
{'name': 'ma', 'max': '20', 'min': '10', 'haha': 'aaaa'}

setdefault():用于获取key的value 如果key不存在时,会给不存在的key设置默认值,然后返回该key和value,
如果改key存在则不需要修改该key的内容

dict1 = {'name':'ma','max':'20','min':'10'}

dict1.setdefault('name','ma')
print (dict1)
##输出结果
{'name': 'ma', 'max': '20', 'min': '10'}
dict1 = {'name':'ma','max':'20','min':'10'}

dict1.setdefault('xixi','111')
print (dict1)
##输出结果
{'name': 'ma', 'max': '20', 'min': '10', 'xixi': '111'}

fromkeys(): 可以为指定的key,返回一个默认的为none的value值,也可以自己指定value

# 使用列表创建包含2个key的字典
dict1 = dict.fromkeys(['a', 'b'])
print(dict1) # {'a': None, 'b': None}
# 使用元组创建包含2个key的字典
dict2 = dict.fromkeys((13, 17))
print(dict2) # {13: None, 17: None}
# 使用元组创建包含2个key的字典,指定默认的value
dict3 = dict.fromkeys((13, 17), 'good')
print(dict3) # {13: 'good', 17: 'good'}
##输出结果
{'a': None, 'b': None}
{13: None, 17: None}
{13: 'good', 17: 'good'}
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值