2.数据类型【列表和字典】

数据类型
字符编码:
注释:
用户输入:
数据类型
列表和字典
list列表
list的深浅拷贝
dict 字典

数据类型

字符编码:

我们通常还是用GBK指代中文windows内码

usf-8是对编码的压缩和优化,在编写python的时候需要声明给python解释器(说了python是解释型语言),使用什么编码来执行源代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

注释:

单行注释#

多行注释 ``` ```

用户输入:

input()

需要限制输入类型的时候,在input外面套接一个数据类型例如int(input())

输入密码时,如果想要不可见,需要利用getpass模块中的getpass方法:

import getpass
pwd = getpass.getpass(‘enter your pwd:‘)

数据类型

在这里穿插解释数据类型

  1. 数字

    int整型

    long长整型:在python2.2以后的版本里,python在长整数据后面不加L也不会有太大的问题

    float浮点型

    complex复数

  2. 布尔值

    真/假

  3. 字符串

    ‘hello world‘

  • 字符串的格式化输出
name = ‘scott‘
print(‘i am %s‘%name)

#字符串是%s ; 整数%d ; 浮点数 %f
  • 字符串操作方法:

print(name.strip()) #脱

print(name.split()) #分割

print(name.len()) #长度

print(name.index(‘s‘)) #索引

name1 = ‘scott,jack,jerry‘

print(name[0:4])
#输出结果为‘scot’
#说明python切片的一条规则

#**顾头不顾尾**
#范例:
print(name [-6:])
print(name [-6:1])
print(name [0::3])   #隔几个字符取一次

列表和字典

list列表

  • 定义列表
>>> name = [‘scott‘,‘jack‘,‘jerry‘,‘peter‘]
  • 添加元素(append)
>>> name.append(‘super‘)
>>> name
[‘scott‘, ‘jack‘, ‘jerry‘, ‘peter‘, ‘super‘]
  • 定位添加元素(insert)
>>> name.insert(2,‘alex‘)
>>> name
[‘scott‘, ‘jack‘, ‘alex‘, ‘jerry‘, ‘peter‘, ‘super‘]
  • 定位删除元素
>>> name.pop(3)
‘jerry‘
>>> name
[‘scott‘, ‘jack‘, ‘alex‘, ‘peter‘, ‘super‘]

不添加参数,默认删除最后一个

>>> name.pop()
‘super‘
  • 在列表中定位元素位置
>>> name.count(‘jack‘)
1
list的深浅拷贝
## 计算结果以及为什么?
a = [1, 2, [3, "hello"], {"egon": "aigan"}]
# 形参a指向一块储存列表的内存位置
b = a[:]
# 形参b指向相同的位置

a[0] = 5
# 原本a的列表修改了某个值,a指向别的内存地址,该地址存储着新的列表
# a修改了某个一层列表元素的位置,b不受影响
a[2][0] = 666
# a修改了某个二层列表元素的位置,b受到影响
print(a)
print(b)
# 知识点:深浅拷贝,b = a[:]让b获得了a的值,但是二者并不公用一块内存地址
# 但是两个列表中的二级列表,指向的是同一块内存地址,
# 所以当两个列表中,一级元素发生改变的时候,互不影响,但当二级元素发生改变的时候,二者同时发生变化。
# 有用于强制深拷贝的模块

dict 字典

key Value 键值

key 必须唯一

  • 字典为什么是无序的?
name= {
    9527:{‘name‘:‘scott‘,‘age‘:23},
    9528:{‘name‘:‘jack‘,‘age‘:24},
    9529:{‘name‘:‘jerry‘,‘age‘:22},
    9530:{‘name‘:‘peter‘,‘age‘:22}
    }
  • 取值

    print(name[9527][‘age‘])

  • name[9526] = ‘yage‘

  • print(name.pop(9526)) #---会返回他的值

    print(name.popitem()) #---随机删除一个

    • 修改某个字典元素

      name[9528][0] = ‘super jack‘

    • 在某个字典中增加一个数字

      name[9529].append(28)

print(name.get(9527))
print(9527 in name)
print(name.keys())
print(name.values())
  • loop

    • 只打印key

      for i in name:

      print(i)

    for i in name.items():

    print (i)

    for k,v in names.items():

    print(k,v)

  • 更新
dict2 = {
    9523:{‘name‘:‘sco‘,‘age‘:23}
    9524:{‘name‘:‘jac‘,‘age‘:24}
    9525:{‘name‘:‘jer‘,‘age‘:22}
    9536:{‘name‘:‘pet‘,‘age‘:22}
    }

.update()

如果dict.update(dict2)

如果dict2中有dict已经有的键值,就更新覆盖该键值

时间: 2024-10-10 11:00:27

2.数据类型【列表和字典】的相关文章

数据类型之列表 元组 字典

数据类型| 表示形式 |  是否有序列 | 对象是否可变|访问顺序 数字     |   1234  |     没有下标  |  不可变 | 直接访问 字符串| 'asd3234'|     有下标    |    不可变  | 序列访问 元组  tuple |(1,'abc',[1,3] )|有下标 |  不可变  | 序列访问 列表 list | [1,'abc',(1,3),[2,3]] | 有下标 |  可变 | 序列访问 字典 dict |  {'key1':'values','ke

python 数据类型 变量 列表 元组 字典 集合

Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等. 浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等

基本数据类型-列表_元组_字典

基本数据类型-列表_元组_字典 一.列表(list)书写格式:[] 1 #通过list类创建的 2 3 li = [1, 12, 9, "age", ["刘正文", ["19", 10, ],"庞麦郎"], "ales", True] 1.列表格式2.列表中可以嵌套任何类型 中括号起来 ,分割每个元素 列表中的元素可以是 数字,字符串,列表,布尔值....所有的都能放进去 "集合" ,内

Python学习之路——Python基础之基本数据类型(列表、元组和字典)

基本数据类型 数字 字符串 列表 list 元组 tuple 字典 dict 布尔值 bool 列表和元组 列表:有序,元素可以被修改元组: 书写格式:元组的一级元素不可被修改,不能被增加或者删除,一般写元租的时候,推荐在最后加入',' 索引:v = tu[0] 切片:v = tu[0:2] 可以被for循环,可迭代对象: for item in tu 转换:str <--> list <--> tupleTips:元组中嵌套的列表的元素可以被修改 字典 dict: info =

python数据类型基础总结(字符串 列表 元组 字典 集合 )

字符串: 有序.不可变数据类型,支持索引,切片,步长(字符串中的每一个字母或字符都称为元素) 索引(下标):通过索引精确定位到每个元素 索引从左开始向右排 从0开始 索引时不能超过最大值,超出报错 从右向左排从-1开始 切片(顾头不顾尾) 步长 print(name[::2] 取整个字符串,步长为2 字符串方法: upper 全部大写 lower全部小写 capitalize 首字母大写 title每个单词的首字母大写 swapcase 大小写转换 starswith 以..开头 endswit

基本数据类型-列表_元组_字典_day4

一.列表(list)书写格式:[] 1 #通过list类创建的 2 3 li = [1, 12, 9, "age", ["刘正文", ["19", 10, ],"庞麦郎"], "ales", True] 1.列表格式 2.列表中可以嵌套任何类型 中括号起来 ,分割每个元素 列表中的元素可以是 数字,字符串,列表,布尔值....所有的都能放进去 "集合" ,内部放置任何东西 3.索引取值

[转载]Python 元组、列表、字典、文件

python的元组.列表.字典数据类型是很python(there python is a adjective)的数据结构.这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益处. 元组         个人认为就像java的数组,python中的元组有以下特性: 任意对象的有序集合,这条没啥说的,数组的同性: 通过偏移读取: 一旦生成,不可改变: 固定长度,支持嵌套 来例子吧: python 代码 >>> (0, 'haha', (4j, 'y')) (0, '

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

python_way ,day2 字符串,列表,字典,时间模块

python_way ,day2 字符串,列表,字典,时间模块 1.input: 2.0 3.0 区别 2.0中 如果要要用户交互输入字符串: name=raw_input() 如果 name=input() 是传什么就是对应的什么,想输入字符串需要加 “” 引号,如果要是不加就认为传入的是个变量. a="hahaha"user=input("shuru :")print(user) shuru :a hahaha 3.0中 只有 input() 了 所以在inpu