第二章 数据类型

字符串

创建:

s = 'Hello,Eva! How are you?'

#索引

s = 'Hello'

>>>[1]

'e'

>>>s[-1]

'o'

>>>s.index('e')

1

#查找

>>>s.find('e')

1

>>>s.find('i')

-1

移除空白

s='    hello,world!  '

s.strip()

s.lstrip()

s.rstrip()

s2= '***hello,world!***'

s2.strip('*')

#长度

>>>s= 'hello,world'

>>>len(s)

11

#替换

>>>s='hello,world!'

>>>s.replace('h','H')

'Hello,world!'

#切片

>>>s='abcdefzhigklmn'

>>>s[0:7]

'abcdefg'

>>>s[7:14]

'higklmn'

>>>s[ :7]

'abcdefg'

>>>s[:]

'abcdefghigklmn'

>>>s[0:7:2]

'aceg'

>>>s[::2]

'acegikm'

>>>s[::-1]

'nmlkgihgfedcba'

列表

创建:

list_test=['张三',‘李四’,‘alex’]

常见操作:

#索引

>>> l = ['egon','alex','seven','yuan']

>>>l[0]

'egon'

#切片

>>>l[0:2]

['egpn','alex']

#追加

>>>l.append("eva")

>>>l

['egon','alex','seven','yuan','eva']

#删除

>>>l.remove('eva')

>>>l

['egon','alex','seven','yuan']

>>>l.pop

'yuan'

>>>l

['egon','alex','seven']

#长度

>>>len(l)

3

#包含

>>>'seven' in l

True

>>>'yuan' in l

False

#循环

>>>for i in l:

egon

alex

seven

列表与字符串----split 和 join

#分割

>>>s='hello,world'

>>>s.split(' ')

['hello','world']

>>>s2 = 'hello,world'

>>>s2.split(',')

['hello','world']

#连接

>>>l = ['hi','eva']

>>>'!'.join(l)

'hi!eva'

range

>>>range(1,100)

1,2,3,4....99

>>>list(range(1,100))

[1,2,3,4,5,6.....99]

>>>list(range(1,100,2))

[1,3,5,7,...99]

range是一个生成器,list将range转换成一个列表

#元组

创建 常见操作 同上一样 

可变 不可变 数据类型 和 hash

可变类型 :列表

不可变类型:数字,字符串,元组

可变是指元素发生改变id 内存地址不改变

不可变是指元素发生改变 ID内存地址也会发生改变

可hash 的是不可变类型数据

#字典

创建

person={'name':'alex','age':20}

person=dict(name='seven',age=20)

person=({'name':'alex','age':20})

person=dict((['name','婉约‘],['文周’,18]))

dic={}.fromkeys(['k1','k2'],[])
print(dic)
dic['k1'].append(2)
print(dic)


{'k1': [], 'k2': []}
{'k1': [2], 'k2': [2]}






字典的常用操作

键 值 键值对

1.dic.key() 返回一个包含字典所有KEY的列表

2.dic.values() 返回一个包含字典所有value的列表

3.dic.items() 返回一个包含所有(键 值)元组的列表

#新增

1.dic['new_key]='nes_value';

2.dic.setfault(key, None) 

#删除

1.dic.pop(key[,default])  如果key存在,删除并返回key对应的vuale;如果key不存在且没有给出default的值,则引发keyerror异常

2.dic.clear() 删除字典中的所以项或元素

#修改

1.di['key'] = 'new_value' 如果key 在字典中存在,‘new_value’将替代原来value的值

2、dic.update(dic2) 将字典dic2的键值对添加到字典dic中

#查看

1.dic['key'] 返回字典中Key对应的值

2.dict.get(key,default  = None)返回key对应的值 若key不存在返回default的值=

#循环

1.for k in dic.key()

2.for k,v in dic.items()

3.for k in dic

#长度
1.len(dic)

集合

引子:

l = ['张三’,‘李四’,‘老男孩’]

p = ['张三',’李四‘,’alex']

l_p = []

for i in l:
    if i in p:

        l_p.append(i)

print(l_p )

认识集合

集合三大特征:

1.确定性(元素必须可hash)

2.互斥性(去重)

3.无序性(集合元素没有先后之分)

注意:集合存在的意义就在于去重和关系运算

集合的关系运算

& 交集 两个集合同时存在的

| 合集 也叫并集 两个集合所有加起来

— 差集   只在前一个二不在后一个的

^ 对称差集 只在前一个或只在后一个的

包含关系

in not in 判断某元素是否在集合内

== != 两个集合是否相等

集合常见操作

单个元素的添加 :add() add类似列表append

对序列的增加 : update() update同时传入多个参数

>>> a = [1,2]

>>>a.update([3,4],[1,2,7])

>>>q

[1,2,3,4,7]

>>>a.update("hello")

>>>a

{1,2,3,4,7,'h','e,'l','l','o'}

>>>a.add('hello')

>>>a

{1,2,3,'hello',7,'h','e','l','l','o'}

元素的删除

两种删除方式

set.discard(x)不会抛出异常

set.remove(x)会抛出异常

>>>a={1,2,3,4}

>>>a.discard(1)

>>>a

{2,3,4}

>>>a.discard(1)

>>>a

{2,3,4}

>>>a.remove(1)

Traceback (most recent call last):

    File "<input>",line 1, in <module>

KeyError:'pop form an empty set '

                     

pop() 由于集合无序 pop返回结果不确定 当集合为空时调用pop会抛出KeyError 异常

clear() 清空集合

                                                                                                                                                                       

原文地址:https://www.cnblogs.com/mayicai/p/8786200.html